以下程序的功能是按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出: main( ) {int n,k; float score,sum,ave; sum=0.0; for(n=1;n<=10;n++) {

admin2010-12-16  28

问题 以下程序的功能是按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出:
   main( )
   {int n,k;
   float score,sum,ave;
   sum=0.0;
   for(n=1;n<=10;n++)
   {
       for(k=1;k<=4;k++)
       {
           cin>>score;
           sum+=score;
       }
       ave=sum/4.0;
   cout<<"NO"<<n<<":"<<ave<<endl;
   }
   }
   上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是

选项 A、sum=0.0
B、sum+=score
C、ave=sun/4.0
D、cout<<"N0"<<n<<":"<<ave<<endl;

答案A

解析 本题编译没有错误,但是执行结果确实错误的。错误原因在于第一个考生的乘积输入完之后,sun的值并没有被清空,接着累加第二个考生的分数,随后进行四门平均是错误的。所以需要内层循环和平均值计算完毕后进行sum的清空。
转载请注明原文地址:https://kaotiyun.com/show/dLVp777K
0

最新回复(0)