以下程序的功能是按顺序读入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.0B.sum+=scoreC.av

题目

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


相似考题
更多“以下程序的功能是按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出: main( ) {int ”相关问题
  • 第1题:

    某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。

    例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。注意:部分源程序在文件PROGl.C中。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fIm的花括号中填入你编写的若干语句。


    正确答案:
    voidfun(STREC*a)inti:a一>ave=0.0:fbr(i=0;i<N;i++)a一>ave=a—>ave+·一>s[i];/*求各门成绩的总和}/a->ave/=N;/}求平均分*/}【考点分析】本题考查:结构体类型成员运算,指向结构体类型的指针变量作函数参数。【解题思路】本题考查自定义形参的相关知识点,程序流程是这样的:在如n()函数中求出平均分后,返回到主函数时平均分也要带回,所以只能定义一个指针类型的形参STREC·a,此时,引用成员的方式可以使用指向运算符,即a一>ave和a—>s[i],当然也可用(*a),ave和(*a).S[i]。

  • 第2题:

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


    正确答案:A
    解析:本题中sum用来保存每位学生的总成绩,所以在计算不同学生的总成绩时,应将sum重新赋值 初值0,即语句sum=0.0;,它应在第二个for语句前执行。

  • 第3题:

    写一程序统计参加数学考试的人数并计算出该课程的平均分。(for版本) 输入: 请输入参考学生的成绩(以-1作为输入结束): 68 79 88 95 56 90 87 83 92 64 -1 输出: 参加数学考试的总人数=10 该课程的平均分=73.30


    COUNT( )

  • 第4题:

    给定程序MODll.C中,函数fun的功能是:在有n名学生,2门课成绩的结构体数组std中,计算出第l门课程的平均分,作为函数值返回。例如,主函数中给出了4名学生的数据,则程序运行的结果为:第l门课程的平均分是:76.125000

    请改正函数fun中指定部位的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:


    正确答案:
    (1)doublesum改为doublesunl=0.0;(2)for(i=0;i<2;i*)改为细(i=0;i<n;i++);(3)sum+=ad[i].scom[1]改为sum+=羽[i].score[0];【考点分析】主要考察桩时变量初始化,c语言里临时变量不初始化,它的默认值是不确定的一个值。再者,考察C语言约定数组的下标是从0开始的。【解题思路】(1)doubleⅫ改为double8am=0.0;累加求和需要初始化累加结果的临时变量。(2)for(i_0;i<2;i++)改为for(i_0;i<n;i++);共有11个学生的成绩,需要累加所有学生第一门课的成绩。(3)sum+.std[i].BCOl.e[1]改为8am+=8td[i].score[0];第1门课程的平均分,c语言的下标是从0开始的。

  • 第5题:

    写一程序统计参加数学考试的人数并计算出该课程的平均分。(do-while版本) 输入: 请输入参考学生的成绩(以-1作为输入结束): 68 79 88 95 56 90 87 83 92 64 -1 输出: 参加数学考试的总人数=10 该课程的平均分=73.30


    COUNT( )