填空题
1. 请补充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(______);
}while(score[i]!=0);
for(i=0; i<5; i++)
______;
for(i=0; i<n-1;i++)
{
grade=______;
switch(grade)
{ case 10:
case 9:bb[O]++; 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]);
}
【正确答案】
1、"%f",&score[i]
bb[i]=0
score[i]/10
【答案解析】 由整个程序可知,数组变量score中存放的是学生成绩,首先,要格式化输入的各个学生的成绩,因此,空一处填“"%f",&score[i]”;数组bb中存放的是各个成绩段的学生人数,初始化为0,因此,空二处填“bb[i]=0”;由各case语句可知用来判断成绩段的分数的十位数字,因此,空三处填“score[i]/10”。