问题 单项选择题

以下程序的功能是按顺序读入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<<end1;


上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是()

A. sum=0.0

B.sum+=score

C. ave=sun/4.0

D.cout<<"No"<<n<<":"<<ave<<end1;

答案

参考答案:A

解析:

本题编译没有错误,但是执行结果确实错误的。细心的考生可以发现,第一个考生的乘积输入完之后,sun的值并没有被清空,接着累加第二个考生的分数,随后进行四门平均是错误的,所以需要内层循环和平均值计算完毕后进行sum的清空。

单项选择题 A1/A2型题
单项选择题 A1型题