C语言程序设计一个程序统计某个班全体学生3门课的考试成绩。要求能输入学生人数,并按编号从小到大的顺序依次输入学生的成绩,再统计出每门课程的全班总分、平均分及每个考生所有考试的总分和平均分。 输入格式: 第一行输入学生人数,从第二行开始按相同的课程顺序依次输入学生每门课的成绩,分数为单精度数。 输出格式: 首先分行输出每个学生的总分及平均分,然后在输出全班每门课的总分及平均分。 输入样例: 在这里给出一组输入。例如: 3 67 67 67 78 78 78 90 90 90 输出样例: 在这里给出相应的输出。例如: 第0个学生总分201.0 平均分为67.0 第1个学生总分234.0 平均分为78.0 第2个学生总分270.0 平均分为90.0 第0门课全班总分235.0 平均分为78.3 第1门课全班总分235.0 平均分为78.3 第2门课全班总分235.0 平均分为78.3
时间: 2024-03-05 11:47:58 浏览: 15
好的,以下是 C 语言程序设计实现该功能的代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n; // 学生人数
scanf("%d", &n);
float scores[n][3]; // 存储所有学生的成绩
float sum_stu[n]; // 每个学生的总分
float avg_stu[n]; // 每个学生的平均分
float sum_courses[3] = {0}; // 每门课程的总分
float avg_courses[3] = {0}; // 每门课程的平均分
// 输入每个学生的成绩
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的成绩(语文 数学 英语):\n", i);
scanf("%f %f %f", &scores[i][0], &scores[i][1], &scores[i][2]);
// 计算每个学生的总分和平均分
sum_stu[i] = scores[i][0] + scores[i][1] + scores[i][2];
avg_stu[i] = sum_stu[i] / 3.0f;
// 计算每门课程的总分
sum_courses[0] += scores[i][0];
sum_courses[1] += scores[i][1];
sum_courses[2] += scores[i][2];
}
// 计算每门课程的平均分
for (int i = 0; i < 3; i++) {
avg_courses[i] = sum_courses[i] / n;
}
// 输出每个学生的总分和平均分
for (int i = 0; i < n; i++) {
printf("第%d个学生总分%.1f 平均分为%.1f\n", i, sum_stu[i], avg_stu[i]);
}
// 输出每门课程的总分和平均分
for (int i = 0; i < 3; i++) {
printf("第%d门课全班总分%.1f 平均分为%.1f\n", i, sum_courses[i], avg_courses[i]);
}
return 0;
}
```
在运行程序时,按照题目要求输入学生人数和每个学生的成绩即可。程序会自动计算每个学生的总分和平均分,以及每门课程的总分和平均分,并按照题目要求输出。