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

admin2010-01-10  26

问题 以下程序的功能是:按顺序读入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=sun/4.0;
D、printf("NO%d:%f\n",n,ave);

答案1

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

最新回复(0)