#include<stdio.h>
int main()
{
int n,score,i,a=0,b=0,c=0,d=0,e=0,sum=0;
double ave;
printf("请输入学生人数:");
scanf("%d",&n);
printf("请输入%d个学生的分数,按回车结束。\n",n);
for(i=1;i<=n;i++)
{
scanf("%d",&score);
if(score<60) e++;
else if(score<70) d++;
else if(score<80) c++;
else if(score<90) b++;
else a++;
sum=sum+score;
}
ave=(double)sum/n;
printf("学生平均分数为:%.1lf\n",ave);
printf("A=%d\nB=%d\nC=%d\nD=%d\nE=%d\n",a,b,c,d,e);
return 0;
}
运行程序后输完数据要按回车才能退出循环,如果用空格会无限循环下去。为什么啊!!
在for循环中的scanf是如何判定输入数据的个数的?如果说整型不好判断,我写成字符型的为什么也是可以一直无限输下去?
for(i=1;i<=15;i++)
{
ch=getchar();
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
word++;
else
other++;
}
输入字符的时候,输一个字符不就是一次循环么,那为什么输15个字符后循环还不退出?
、、、、、、大哥你自己运行下看看是什么
追答你用的是vc6.0吗?你输入一个数据,程序就会暂停一次,你接着再输。