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

admin2010-01-10  29

问题 以下程序的功能是:按顺序读入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++)    { scanf(“%f”,&score);sum+=score;}      ave=sum/4.0;      printf(“NO%d:%f\n”,n,ave);     }    }    上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是

选项 A、sum=0.0;
B、sum+=score;
C、ave=sum/4.0;
D、printf(“NO%d:%f\n”,n,ave);

答案1

解析 本程序中用了两层for循环,外层循环是控制人数,循环一次是求一个人的成绩和,然后除以4得到平均成绩。每个人的成绩总和一开始时都必须清0,否则就会出现后面人的总成绩越来越大。“sum=0.0”;应在外层循环中。
转载请注明原文地址:https://kaotiyun.com/show/FXWp777K
0

最新回复(0)