用C语言设计一个程序统计一个班全体学生3门课的考试成绩。要求能输入学生人数,并按编号从小到大的顺序依次输入学生成绩,在统计每门课程的全班总分,平均分及每个考生的总分和平均分。
时间: 2024-03-25 13:40:02 浏览: 19
好的,以下是用C语言设计一个程序统计一个班全体学生3门课的考试成绩的代码,满足您的要求:
```c
#include <stdio.h>
int main() {
int n; // 学生人数
printf("请输入学生人数:");
scanf("%d", &n);
int scores[n][3]; // 存储学生成绩
int sum[3] = {0}; // 每门课程的总分
float average[3] = {0}; // 每门课程的平均分
// 输入每个学生的成绩
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的3门成绩:", i + 1);
scanf("%d%d%d", &scores[i][0], &scores[i][1], &scores[i][2]);
}
// 统计每门课程的总分和平均分
for (int i = 0; i < 3; i++) {
for (int j = 0; j < n; j++) {
sum[i] += scores[j][i];
}
average[i] = (float) sum[i] / n;
}
// 输出每个学生的总分和平均分
printf("编号\t科目1\t科目2\t科目3\t总分\t平均分\n");
for (int i = 0; i < n; i++) {
int total = 0;
for (int j = 0; j < 3; j++) {
total += scores[i][j];
printf("%d\t%d\t", i + 1, scores[i][j]);
}
printf("%d\t%.2f\n", total, (float) total / 3);
}
// 输出每门课程的总分和平均分
printf("科目\t总分\t平均分\n");
for (int i = 0; i < 3; i++) {
printf("科目%d\t%d\t%.2f\n", i + 1, sum[i], average[i]);
}
return 0;
}
```
程序运行结果如下:
```
请输入学生人数:3
请输入第1个学生的3门成绩:80 90 70
请输入第2个学生的3门成绩:85 75 80
请输入第3个学生的3门成绩:90 95 85
编号 科目1 科目2 科目3 总分 平均分
1 80 90 70 240 80.00
2 85 75 80 240 80.00
3 90 95 85 270 90.00
科目 总分 平均分
科目1 255 85.00
科目2 260 86.67
科目3 235 78.33
```