设计一个c语言程序统计某个班全体学生 3 门课的考试成绩。要求能输入学生人数,并按 编号从小到大的顺序依次输入学生的成绩,再统计出每门课程的全班总分、平均分及每个考 生所有考试的总分和平均分。
时间: 2024-03-14 09:47:26 浏览: 87
好的,以下是设计的 C 语言程序:
```c
#include <stdio.h>
int main() {
int n, i, j;
printf("请输入学生人数:");
scanf("%d", &n);
int scores[n][3]; // 存储每个学生的成绩,3 门课
int total_scores[3] = {0}; // 存储每门课程的总分
float avg_scores[3] = {0}; // 存储每门课程的平均分
for (i = 0; i < n; i++) {
printf("请输入第 %d 个学生的成绩(语文 数学 英语):", i + 1);
for (j = 0; j < 3; j++) {
scanf("%d", &scores[i][j]);
total_scores[j] += scores[i][j]; // 统计每门课程的总分
}
}
for (j = 0; j < 3; j++) {
avg_scores[j] = (float) total_scores[j] / n; // 统计每门课程的平均分
printf("第 %d 门课程的总分为:%d,平均分为:%.2f\n", j + 1, total_scores[j], avg_scores[j]);
}
for (i = 0; i < n; i++) {
int total_score = 0;
for (j = 0; j < 3; j++) {
total_score += scores[i][j]; // 统计每个学生的总分
}
printf("学生 %d 的总分为:%d,平均分为:%.2f\n", i + 1, total_score, (float) total_score / 3);
}
return 0;
}
```
程序说明:
1. 先输入学生人数,声明一个二维数组 `scores` 存储每个学生的成绩,声明两个一维数组 `total_scores` 和 `avg_scores` 存储每门课程的总分和平均分。
2. 循环输入每个学生的成绩,同时统计每门课程的总分。
3. 循环输出每门课程的总分和平均分。
4. 循环输出每个学生的总分和平均分。
阅读全文