关于C语言的SCANF 无法返回TC屏幕

来源:百度知道 编辑:UC知道 时间:2024/05/20 22:20:41
main()
{ float x,amax,amin;
scanf("%f",&x);
amax=x;amin=x;
while (x>0.0)
{if (x>amax) amax=x;
if(x<amin) amin=x);
} printf("\namax=%f\namin=%f\n",amax.amin);}
运行后在用户屏幕键盘输入个5 回车系统不能自动返回 再输入什么回车都没用
怎么修改呢?? 追加30分!!
题目是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最地成绩,当输入负数时结束输入。
在线等 急~~~~!!! 求~~~
我晕~~ 和我的一样啊??? 有什么修改吗??
x>=0.0也不对

你的程序是个死循环啊
如果x>0.0,进了while就出不来了。因为while里没有改变x的值的语句,进来的时候x大于0,那么它将一直满足while的条件。。

==================================
void main()
{float x,amax,amin;
scanf("%f",&x);
amax=x;amin=x;
while (x>=0.0)
{
if (x>amax) amax=x;
if(x<amin) amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}

================
哈哈,你运行一下就能看出不一样了。
你想输入多个数,但你的只有一个输入语句,我跟你的区别是在循环里加了输入语句啊。
而且你说输入的成绩是负数时结束,但你的程序条件是x>0.0,这样的话输入0也会结束循环。你考虑一下到底是负数结束循环还是只要不是正数都结束循环吧

x的值一直大于0,while()中的内容一直为真,循环一直在做
把while中的语句这样改就可以了
while (x>=0.0)
{
if (x>amax) amax=x;
if(x<amin) amin=x;
scanf("%f",&x);
}

不应该先输入,而应该先把x赋值给amax,amin.
应该先把x赋给最大值和最小值,然后才能输出。
main()
{ float x,amax,amin;
amax=x;amin=x;
scanf("%f",&x);
while (x>0.0)