以下程序的功能是按顺序读入10名学生

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

正确答案

A

答案解析

[解析] 程序中使用了两层for循环,外层循环的作用是控制人数,循环一次是求一个人的成绩和,然后除以4得到平均成绩。每个人的成绩总和一开始时都必须清0,否则就会出现后面人的总成绩越来越大。“sum=0.0”;应在外层循环中。选项A正确。

以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分

#include

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);

}

}

上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确,答案说语句是sum=0.0;

请问为什么,改好的是什么?

答案:

#include

main()

{int n,k;

float score,sum,ave;

for(n=1;n<=10;n++)

{

sum=0.0;

for(k=1;k<=4;k++)

{

baiscanf("%f",&score);

sum+=score;

}

ave=sum/4.0;

printf("NO%d:%f\n",n,ave);

}

}

以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每个学生的平均分数并输出,程序如下:

#include<iostream>

using namespace std;

int 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:"<<ave<<end1;

return 0;

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

这条语句是非曲直( )。

A.sum=0.0;

B.sum+=score;

C.ave= sum/4.0

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

正确答案

A

答案解析

[解析] 本题中sum用来保存每位学生的总成绩,所以在计算不同学生的总成绩时,应将sum重新赋值初值0,即语句

“sum=0.0;”应该包含在第1个for循环体内,并在第2个for 语句前执行。

相关文档
最新文档