C语言编程题。急急急急!!!

键盘输入20名学生的成绩,计算出平均分。并分别统计(90~100)优秀,良好(80~89),中等(70~79),及格(60~69)和不及格(0~60)的人数。

不能用数组。

第1个回答  2008-02-25
int main()
{
int n,a=0,great=0,good=0,ok=0,bad=0,trash=0,total=0;
for (a=1;a<=20;++a)
{
scanf("%d",&n);
total+=n;
if (n>=90) great++;
else if (n>=80) good++;
else if (n>=70) ok++;
else if (n>=60) bad++;
else trash++;
}
printf("%.2lf %d %d %d %d %d",(double)total/20.0,great,good,ok,bad,trash);
system("pause");
}
第2个回答  2008-02-25
#include <stdio.h>
main()
{
int a,b,s1,s2,s3,s4,s5,sum,ave,n;
s1=s2=s3=s4=s5=0;
sum=0;
for(n=0;n<20;n++)
{
scanf("%d",&a);
sum+=a;
if(a<0||a>100)
{printf("Wrong number!");getchar();getchar();exit(); }
b=a/10;
switch(b)
{
case 10:
case 9:s1++;break;
case 8:s2++;break;
case 7:s3++;break;
case 6:s4++;break;
default: s5++;break;
}
ave=sum/n;
}
printf("ave:%d\n",ave);
printf("90-100:%d\n",s1);
printf("80-89:%d\n",s2);
printf("70-79:%d\n",s3);
printf("60-69:%d\n",s4);
printf("0-59:%d\n",s5);
}
第3个回答  2008-02-25
ave=sum/n;

应该强制类型转换
\
平均成绩有小数点的!

用float就可以了

float ave ;
ave= (float) sum/ 20.0
第4个回答  推荐于2021-02-13
#include <stdio.h>
main()
{
int a,b,s1,s2,s3,s4,s5,n;
s1=s2=s3=s4=s5=0;
for(n=0;n<20;n++)
{
scanf("%d",&a);
b=a/10;
switch(b)
{
case 10:
case 9:s1++;break;
case 8:s2++;break;
case 7:s3++;break;
case 6:s4++;break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:s5++;break;
default:
printf("Wrong number!");break;
}
}
printf("90-100:%d\n",s1);
printf("80-89:%d\n",s1);
printf("70-79:%d\n",s1);
printf("60-69:%d\n",s1);
printf("0-59:%d\n",s1);
}本回答被提问者采纳
相似回答