问题 填空题

请补充main函数,该函数的功能是:从键盘输入学生的成绩(用回车键作为分隔符),并统计各分数段学生的人数。具体要求为:A类为90~100分,B类为80~89分,C类为70~79分,D类为60~69分,59分以下的为E类。当成绩为0时结束成绩的输入,并且最后输入的0不进行统计。
例如,输入89,99,45,64,56,78,88,74,66,55,0。结果为
A:1 B:2 C:2 D:2 E:3
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#define N 100
main()

float score[N];
int bb[5];
int grade, i=-1,n=0;
char ch=’A’;
clrscr();
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]);

答案

参考答案:[A] "%f",&score[i] [B] bb[i]=0 [C] score[i]/A0

解析: 填空1;本题考查标准输入函数scanf()的调用格式,注意score[i]为实型变量,并且score[i]的前面要记住加上取址符&。填空2:数组bb[5]中存放各分数段学生的人数,程序中只对数组bb[5]进行了声明,并没有给予初始化,此处将数组各元素初始化为0。填空3:通过switch语句可以看出,grade等于将分数整除10后的值。注意,运算符‘/’两边都是整型数时,结果仍然是整型数。

多项选择题 案例分析题
填空题