【问题描述】成绩管理模拟系统设计。要求统计n个学生,每个学生4门课程的考试成绩,并输出每个学生的总成绩,每个学生的平均成绩,这n个学生的总平均成绩。 要求如下: (1)定义一个100*4的二维数组stu,存放n个学生的4门课成绩,输入学生人数n,再输入学生成绩。(数组每一行对应一个学生) (2)定义一个长度为100的数组t存放各个学生的总成绩。 (3)在循环中记录每个同学的总成绩到数组t对应的元素中。 (4)输出学生每个学生的总成绩,每个学生的学科平均成绩,4个学生的总平均成绩。 【输入形式】第一行输入学生人数n, 接下来每行输入一个学生的四门课成绩,分n行分别输入n个学生的四门课成绩 【输出形式】第一行输出每个学生的总成绩,第二行输出每个学生的平均成绩,第三行输出全部学生的总平均成绩。C语言
时间: 2023-06-02 18:07:32 浏览: 105
中代码实现如下:
```c
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int stu[100][4], t[100], sum = 0;
for(int i = 0; i < n; i++) {
t[i] = 0;
for(int j = 0; j < 4; j++) {
scanf("%d", &stu[i][j]);
t[i] += stu[i][j];
}
sum += t[i];
}
printf("每个学生的总成绩:\n");
for(int i = 0; i < n; i++) {
printf("%d ", t[i]);
}
printf("\n每个学生的平均成绩:\n");
for(int i = 0; i < n; i++) {
printf("%.2f ", t[i] / 4.0);
}
printf("\n全部学生的总平均成绩:\n");
printf("%.2f", sum / (n * 4.0));
return 0;
}
```
解析:
首先,我们定义一个100x4的二维数组stu来存放每个学生的四门课成绩,定义一个长度为100的数组t来存放各个学生的总成绩。
然后,我们通过for循环分别输入每个学生的四门课成绩,并将其求和存放到数组t对应的元素中,同时统计全部学生的总成绩。
接下来,我们使用for循环分别输出每个学生的总成绩和平均成绩,并输出全部学生的总平均成绩。
值得注意的是,输出平均成绩时需要将总成绩除以4.0,因为4门课程的成绩是等权重的,不能简单地除以4。
最后,我们可以通过输入不同的成绩来测试该程序的正确性。