已知5名学生各有4门课的成绩,试求个人平均成绩和各门课的平均成绩。使用C语言

如题所述

#include <stdio.h>
#include <conio.h>

#define ARR_LEN 255 /* 数组长度上限 */

int main (void) {
float score[ARR_LEN][ARR_LEN] = {{87,88,93,83},
 {76,78,89,93},
 {97,89,96,88},
 {54,62,71,68},
 {65,79,70,69}};
char subject[ARR_LEN][ARR_LEN] = {"科目一","科目二","科目三","科目四"};
int stuCnt = 5, subCnt = 4;
float avgStu[ARR_LEN], avgSub[ARR_LEN];
int i, j;

printf ("#\t");
for (j=0; j<subCnt; j++)
printf ("%s\t", subject[j]);
putchar ('\n');
for (i=0; i<stuCnt; i++) {
printf ("%d\t", i+1);
for (j=0; j<subCnt; j++) {
printf ("%.2f\t", score[i][j]);
}
putchar ('\n');
}
putchar ('\n');

for (j=0; j<subCnt; j++) {
avgSub[j] = 0;
for (i=0; i<stuCnt; i++) {
avgSub[j] += score[j][i];
}
avgSub[j] /= stuCnt;
}
printf ("\t\t");
for (j=0; j<subCnt; j++)
printf ("%s\t", subject[j]);
putchar ('\n');
printf ("各科目均值\t");
for (j=0; j<subCnt; j++)
printf ("%.2f\t", avgSub[j]);
putchar ('\n');
putchar ('\n');

for (i=0; i<stuCnt; i++) {
avgStu[i] = 0;
for (j=0; j<subCnt; j++) {
avgStu[i] += score[i][j];
}
avgStu[i] /= subCnt;
}
printf ("\t\t");
for (i=0; i<stuCnt; i++)
printf ("%d\t", i+1);
putchar ('\n');
printf ("各学生均值\t");
for (i=0; i<stuCnt; i++)
printf ("%.2f\t", avgStu[i]);
putchar ('\n');

getch (); /* 屏幕暂留 */
    return 0;
}

如有问题,点击头像联系我~~

温馨提示:答案为网友推荐,仅供参考
相似回答