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

来源:百度知道 编辑:UC知道 时间:2024/05/30 09:05:48
有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);

}<