用c语言编写一程序实现以下功能

有n名学生参加某次考试,试分别统计60分以下(不含60分)、60-69分、70-79分、80-89分、90-99分、100分的人数及所占总人数的百分比(保留1位小数),输出计算结果。成绩从键盘输入(成绩没有小数),成绩之间使用逗号(,)或回车分隔,输入-1表示结束且-1不为有效成绩。程序输入与输出的效果应当如下例:
Please input CJ(-1 to exit): 10,20,89,62,79,100,-1
There have 6 students.
0-59:2, 33.3%
60-69:1, 16.7%
70-79:1, 16.7%
80-89:1, 16.7%
90-99:0, 0.0%
100:1, 16.7%

#include "stdio.h"

main(){

 int i=0,a=0,b=0,c=0,d=0,e=0,f=0;

 float grade;

    printf("请输入成绩,以-1结束\n");

 do{

 scanf("%f",&grade);

 if(grade==100)a++;

 else if(grade>=90)b++;

 else if(grade>=80)c++;

 else if(grade>=70)d++;

 else if (grade>=60)e++;

 else f++;

 i++;

 }while(grade!=-1);

    printf("一个有%d个学生:\n",i);

 printf("成绩分布情况:\n");

 printf("0~59:%d%%\n",f*100/i);

    printf("60~69:%d%%\n",e*100/i);

 printf("70~79:%d%%\n",d*100/i);

 printf("80~89:%d%%\n",c*100/i);

 printf("90~99:%d%%\n",b*100/i);

 printf("100:%d%%\n",a*100/i);

}

编译过的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-06-06
#include "stdio.h"

int main(){
int i=0,a=0,b=0,c=0,d=0,e=0,f=0;
float grade;
printf("Please input CJ(-1 to exit):");
do{
scanf("%f,",&grade);
if(grade==100)a++;
else if(grade>=90) b++;
else if(grade>=80) c++;
else if(grade>=70) d++;
else if(grade>=60) e++;
else f++;
i++;
}while(grade!=-1);
printf("There have %d students.\n",i-1);
printf("0~59:%d, %0.1f%\n",f-1,(float)(f-1)/(float)(i-1)*100);
printf("60~69:%d, %0.1f%\n",e,(float)(e)/(float)(i-1)*100);
printf("70~79:%d, %0.1f%\n",d,(float)(d)/(float)(i-1)*100);
printf("80~89:%d, %0.1f%\n",c,(float)(c)/(float)(i-1)*100);
printf("90~99:%d, %0.1f%\n",b,(float)(b)/(float)(i-1)*100);
printf("100:%d, %0.1f%\n",a,(float)(a)/(float)(i-1)*100);
getch();
}
//win-tc编译的
第2个回答  2009-06-06
main()
{
int a;
int b[10];
int i;
int c;
float a0=0,a1=0,a2=0,a3=0,a4=0,a5=0;
float c0,c1,c2,c3,c4,c5;

printf("Please input student number:");
scanf("%d",&a);
printf("\n");
printf("Please input CJ(-1 to exit): ");
for(i=0;i<a;i++)
{
scanf("%d,",&b[i]);
while(b[i]==-1)
break;
printf("%d ",b[i]);
c=b[i]/10;
switch(c)
{
case 6:
a0++;
break;
case 7:
a1++;
break;
case 8:
a2++;
break;
case 9:
a3++;
break;
case 10:
a4++;
break;
default:
a5++;
break;
}
}
c0=a0/a;c1=a1/a;c2=a2/a;c3=a3/a;c4=a4/a;c5=a5/a;
printf("There have %d students.\n",a);
printf("0-59:%2.0f, %3.1f%\n",a0,c0*100);
printf("60-69:%2.0f, %3.1f%\n",a1,c1*100);
printf("70-79:%2.0f, %3.1f%\n",a2,c2*100);
printf("80-89:%2.0f, %3.1f%\n",a3,c3*100);
printf("90-99:%2.0f, %3.1f%\n",a5,c5*100);
printf("100:%2.0f, %3.1f%\n",a4,c4*100);
}