填空题
请补充main()函数,该函数的功能是:从键盘输入学生的成绩(用Enter键作为分隔符),并统计各分数段学生的人数。具体要求为:A类为90~100分,B类为80~89分,C类为70~79分,D类为60~69分,59分以下的为E类。当成绩为0时结束成绩的输入,并且最后输入的0不进行统计。
例如,若输入:89,99,45,90,56,78,88,74,66,55,0,则显示结果为:A:2 B:2 C:2 D:1 E:3。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define M 100
void main()
{
float score[M];
int bb[5];
int grade, i=-1, n=0;
char ch="A";
system("CLS");
printf("Input a score(0~100); /n");
do
{
i++;
n++;
printf("score[%d]=", i);
scanf(
1);
}while(score[i]!=0);
for(i=0; i<5; i++)
2;
for(i=0; i<n-1; i++)
{
grade=
3;
switch(grade)
{ case 10:
case 9: bb[0]++; break;
case 8: bb[1]++; break;
case 7: bb[2]++; break;
case 6: bb[3]++; break;
default: bb[4]++;
}
}
for(i=0; i<5; i++)
printf("/n%c: %d", ch+i, bb[i]);
}
【正确答案】
【答案解析】"%f", &score[i] bb[i]=0 score[i]/10[解析] 由整个程序可知,数组变量score中存放的是学生成绩,首先要格式化输入的各个学生的成绩,因此,第一处填“"%f", &score[i]”;数组bb中存放的是各个成绩段的学生人数,初始化为0,因此,第二处填“bb[i]=0”;由各case语句可知,用来判断成绩段的分数的十位数字,因此,第三处填“score[i]/10”。