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