用c语言实现某组有五个学生,每人有语文,数学和外语三门成绩,输入考试成绩,求该组没科的平均成绩和个人的平均成绩
时间: 2023-09-03 10:16:30 浏览: 66
以下是用C语言实现的代码:
```c
#include <stdio.h>
int main() {
int scores[5][3]; // 五个学生的成绩
float subject_avg[3] = {0}; // 每科的平均成绩
float student_avg[5] = {0}; // 每个学生的平均成绩
float total_avg = 0; // 总平均成绩
int i, j;
// 输入成绩
printf("请输入五个学生的语文、数学和外语成绩:\n");
for (i = 0; i < 5; i++) {
printf("第%d个学生的成绩:", i+1);
scanf("%d %d %d", &scores[i][0], &scores[i][1], &scores[i][2]);
}
// 计算每科平均成绩
for (j = 0; j < 3; j++) {
for (i = 0; i < 5; i++) {
subject_avg[j] += scores[i][j];
}
subject_avg[j] /= 5.0;
}
// 计算每个学生的平均成绩
for (i = 0; i < 5; i++) {
for (j = 0; j < 3; j++) {
student_avg[i] += scores[i][j];
}
student_avg[i] /= 3.0;
}
// 计算总平均成绩
for (i = 0; i < 5; i++) {
total_avg += student_avg[i];
}
total_avg /= 5.0;
// 输出结果
printf("每科平均成绩:\n");
printf("语文:%.2f\n", subject_avg[0]);
printf("数学:%.2f\n", subject_avg[1]);
printf("外语:%.2f\n", subject_avg[2]);
printf("每个学生的平均成绩:\n");
for (i = 0; i < 5; i++) {
printf("第%d个学生的平均成绩:%.2f\n", i+1, student_avg[i]);
}
printf("总平均成绩:%.2f\n", total_avg);
return 0;
}
```
代码中使用一个二维数组 `scores` 存储五个学生的成绩,使用三个一维数组 `subject_avg`、`student_avg` 和 `total_avg` 分别存储每科的平均成绩、每个学生的平均成绩和总平均成绩。
首先,通过循环输入每个学生的成绩。然后,通过两重循环计算每科的平均成绩和每个学生的平均成绩。最后,通过一个循环计算总平均成绩,并输出所有结果。
注意,本题中涉及到浮点数计算,因此需要使用 `float` 类型。同时,在计算平均成绩时,需要将分数总和除以相应的科目数或学生数,因此需要使用除法运算符 `/`。