请补充main函数,该函数的功能是:从键盘输入学生的成绩(用回车键作为分隔符),并统计各分数段学生的人数。具体要求为:A类为90~100分,B类为80~89分,C类为70~79分,D类为60~69分,59分以下的为E类。当成绩为0时结束成绩的输入,并且最后

admin2010-05-05  61

问题 请补充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 (【  】);
      }while (score!=0);
      for(i=0;i<5;i++)
        【  】;
      for(i=0;i<n-1;i++)
      {
          grade=【  】;
          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);
   }

选项

答案"%f",&score[i] bb[i]=0 score[i]/10

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

最新回复(0)