填空题

请补充main()函数,该函数的功能是:计算每个学生成绩的平均分,并把结果保存在数组aver中。
例如,当score[N][M]=(83.5,82,86,65,67,80,91.5,84,99,95,90.5,95,86,95,97时,3个学生的平均分为76.7 89.9 92.7。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define N 3
#define M 5
void main()

int i,j;
static float score[N][M]=(83.5,82,86,65,67),80,91.5,84,99,95,90.5,95,86,95,97;
float aver[N];
system("CLS");
for(i=0;i<N;i++)
(1)
for(i=0;i<N;i++)

for(j=0;j<M;j++)
(2)
aver[i]/=M;

for(i=0;i<N;i++)
printf("\nstudent%dktaverage=%5.1f",i+1,aver[i]);

【参考答案】

aver[i]=0
热门 试题

填空题
下列给定程序中,函数proc()的功能是:对M名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdlib.h> #include<conio.h> #include<string.h> #include<stdio.h> #define M 10 typedef struct ss char num[10]; int s; STU; STU *proc(STU a[],int m) for(i=j=0;i<M;j++) if(b[i].s<b[j].s) j=i; ************found************* t[k].s=b[j].s; b[j].s=100: return t; void outresult(STU a[],FILE*pf) int i; for(i=0;i<M;i++) fprintf(pf, No=%s Mark=%d n , a[i].num,a[i].s); fprintf(pf, n n ); void main() STU stu[M]= A01 ,77, A02 ,85, A03 ,96, A04 ,65, A05 ,75, A06 ,96, A07 ,76, A08 ,63), A09 ,69, A10 ,78; STU b[M],*t; int i,j.k; ************found************* *t=calloc(m,sizeof(STU)); for(i=0;i<M;i++) b[i]=a[i]; for(k=0;k<m;k++) ************found************* STU*pOrder; int i,m; system( CLS ); printf( *****THE RESULT***** n ); outresult(stu,stdout); printf( nGive the number of the students who have lower score: ); scanf( %d ,&m); while(m>10) printf( nOive the number of the students who have lower score: ); scanf( %d ,&m); pOrder=proc(stu,m); printf( *****THE RESULT***** n ); printf( The low: n ); for(i=0;i<m;i++) printf( %s%d n ,pOrder[i].num, pOrder[i].s); free(pOrder);