请问,以下程序编译结果,为什么会出错?就是计算的结果不正确。 ~~~~~~~~~~~~~~~~~~~~~~~~~~ #include<stdio.h> #define N 1 void main() { int i,j; static char name[N][20]; static float a[N][4]; static float sum[N]; static float avg[N]; static float sums[4]; static float avgs[4]; for(i=0;i<=N-1;i++ ) { printf("请输入学生姓名:\n"); scanf("%s",name[i]); printf("请输入成绩:\n"); sum[i]=0; for(j=0;j<=3;j++) { abc: scanf("%f",&a[i][j]); if(a[i][j]<0||a[i][j]>100) { printf("输入有误,请重输!\n"); goto abc; } sum[i]=sum[i]+a[i][j]; } avg[i]=sum[i]/4; } printf("***********************************************************************\n"); for(i=0;i<=4;i++) { sums[i]=0; for(j=0;j<=N-1;j++) { sums[i]=sums[i]+a[j][i]; } avgs[i]=sums[i]/N;
} //以下为输出的内容。 printf("姓名\t\t数学\t语文\t物理\t化学\t个人总分\t平均分\n"); for(i=0;i<=N-1;i++ ) { printf("%s\t\t",name[i]); for(j=0;j<=3;j++) { printf("%g\t",a[i][j]); } printf("%g\t",sum[i]); printf("\t%g",avg[i]); printf("\n"); } printf("***********************************************************************\n"); printf("各科平均\t"); for(i=0;i<=3;i++) { printf("%g\t",avgs[i]); } printf("\n"); }