问答题
简单应用
给定程序MODI1.C中,函数fun的功能是:在有n名学生,2门课成绩的结构体数组std中,计算出第1门课程的平均分,作为函数值返回。例如,主函数中给出了4名学生的数据,则程序运行的结果为:第1门课程的平均分是:76.125000
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include
typedef struct
{ char num[8];
double score[2];
}STU ;
double fun(STU std[], int n)
{ int i;
/**********found**********/
double sum ;
/**********found**********/
for(i=0; i<2 ; i++)
/**********found**********/
sum += std[i].score[1];
return sum/n;
}
main()
{ STU std[ ]={ "N1001", 76.5,82.0 ,"N1002", 66.5,73.0,
"N1005", 80.5,66.0,"N1006", 81.0,56.0 };
printf("第1门课程的平均分是:%lf/n", fun(std,4) );
}
【正确答案】(1)double sum改为double sum=0.0;
(2)for(i=0; i<2 ; i++)改为for(i=0; i
【答案解析】【考点分析】
主要考察临时变量初始化,C语言里临时变量不初始化,它的默认值是不确定的一个值。再者,考察C语言约定数组的下标是从0开始的
【解题思路】
(1)double sum改为double sum=0.0;累加求和需要初始化累加结果的临时变量。
(2)for(i=0; i<2 ; i++)改为for(i=0; i