某班有5个学生,每个学生选修3门课,编写程序,使用二堆数组存放5个学生3门课的成绩,计算每个学生的

2025-02-27 20:47:12
推荐回答(1个)
回答1:

如下 供参考

#include
#define NSTU 4 //number of students
#define NCLA 3 //number of classes
int main()
{
int map[NSTU][NCLA];
double sts[NSTU] = {0}; // students total score
double cts[NCLA] = {0};//classes total score
double ts = 0;// total score
int i,j;
printf("input\n");
for(i = 0; i < NSTU; i ++)
for(j = 0; j < NCLA; j ++)
{
scanf("%d", &map[i][j]);
sts[i] += map[i][j];
cts[j] += map[i][j];
ts += map[i][j];
}
printf("total score for every student:\n");
for(i = 0; i < NSTU; i ++)
printf("%d:%lf\n", i, sts[i]);
printf("average score for every class:\n");
for(j = 0; j < NCLA; j ++)
printf("%d:%lf\n", i, cts[i]/NSTU);
printf("average score for all of student is %lf\n", ts / NSTU/NCLA);

}