用c语言求从键盘输入 5 个学生三门课程的成绩求每个学生各门课的平均分,并按平均分从高到低的顺序输出每个学生各门课程的成绩和平均成绩
时间: 2024-05-13 08:14:36 浏览: 84
以下是一个简单的 C 语言程序,用于从键盘输入 5 个学生三门课程的成绩,计算每个学生各门课的平均分,并按平均分从高到低的顺序输出每个学生各门课程的成绩和平均成绩:
```c
#include <stdio.h>
int main() {
int i, j;
float score[5][3], avg[5], temp;
// 从键盘输入每个学生的三门课程成绩
for (i = 0; i < 5; i++) {
printf("请输入第 %d 个学生的三门课程成绩:\n", i+1);
for (j = 0; j < 3; j++) {
printf("请输入第 %d 门课的成绩:", j+1);
scanf("%f", &score[i][j]);
}
}
// 计算每个学生的平均成绩
for (i = 0; i < 5; i++) {
avg[i] = (score[i][0] + score[i][1] + score[i][2]) / 3.0;
}
// 按平均成绩从高到低排序
for (i = 0; i < 5; i++) {
for (j = i+1; j < 5; j++) {
if (avg[i] < avg[j]) {
// 交换平均成绩
temp = avg[i];
avg[i] = avg[j];
avg[j] = temp;
// 交换成绩
temp = score[i][0];
score[i][0] = score[j][0];
score[j][0] = temp;
temp = score[i][1];
score[i][1] = score[j][1];
score[j][1] = temp;
temp = score[i][2];
score[i][2] = score[j][2];
score[j][2] = temp;
}
}
}
// 输出每个学生的成绩和平均成绩
for (i = 0; i < 5; i++) {
printf("第 %d 个学生的成绩为:%.1f %.1f %.1f,平均成绩为:%.1f\n", i+1, score[i][0], score[i][1], score[i][2], avg[i]);
}
return 0;
}
```
注意,上述程序假设每个学生都有且只有三门课程,如果需要输入更多的课程或者学生,需要相应地修改程序。
阅读全文