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

admin2016-04-07  35

问题 给定程序MODI1.C中,函数fun的功能是:在有n名学生,2门课成绩的结构体数组std中,计算出第1门课程的平均分,作为函数值返回。例如,主函数中给出了4名学生的数据,则程序运行的结果为:第1门课程的平均分是:76.125000
    请改正函数fun中指定部位的错误,使它能得出正确的结果。
    注意:不要改动mmn函数,不得增行或删行,也不得更改程序的结构。
    试题程序:
    #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.score[1];   
    return sum/n;  
    }   
    mmn()   
    {STU std[]={"N1001",76.5,82.0,"N1002",66.5,73.0,   
               "N1005",80.5,66.0,"N1006",81.0,56.0};
    printf("第1门课程的平均分是:%If\n”,fun(std,4));
    }   

选项

答案(1)double sum;改为double sum=0.0; (2)for(i=0;i<2;i++)改为for(i=0;i
解析 (1)double sum;改为double sum=0.0;累加求和需要初始化累加结果的临时变量。
    (2)for(i=0;i<2;i++)改为for(i=0;i    (3)sum+=std.SCOre[1];改为sum+=std.score[O];第1门课程即C语言的下标是从0开始的。
转载请注明原文地址:https://jikaoti.com/ti/CDi0FFFM
0

最新回复(0)