C语言程序编程问题。

以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。

为什么输入没有终止呀

#include<stdio.h>
  void main( )
  { float x,amax,amin;
    scanf("%f",&x);
    amax=x;
    amin=x;
    while (x>=0)
     { if (x>amax) amax=x;
       if (x<amin) amin=x;
       scanf("%f",&x);
     }
     printf("\namax=%f\namin=%f\n",amax,amin);
  }

你把 x 在循环中打印出来看看是多少, 你输入 -1, 看看结果如何?

代码没问题。