用c语言写一个程序已知5名学生4门课的成绩,要求求出每个学生的平均成绩,然后对平均成绩从高到低将各学生的成绩记录排序
时间: 2024-05-08 15:15:03 浏览: 127
c代码-输入5名学生的分数,并显示出他们的总分和平均分。
```c
#include<stdio.h>
#include<stdlib.h>
#define N 5 // 学生数目
#define M 4 // 课程数目
int main()
{
float score[N][M]; // 存储成绩
float avg[N]; // 存储平均成绩
int i, j, k;
// 输入每个学生的成绩
for (i = 0; i < N; i++) {
printf("请输入第%d个学生的成绩:\n", i + 1);
for (j = 0; j < M; j++) {
printf("第%d门课的成绩:", j + 1);
scanf("%f", &score[i][j]);
}
}
// 计算每个学生的平均成绩
for (i = 0; i < N; i++) {
float sum = 0.0;
for (j = 0; j < M; j++) {
sum += score[i][j];
}
avg[i] = sum / M;
}
// 对平均成绩从高到低排序
for (i = 0; i < N - 1; i++) {
for (j = i + 1; j < N; j++) {
if (avg[i] < avg[j]) {
float temp = avg[i];
avg[i] = avg[j];
avg[j] = temp;
for (k = 0; k < M; k++) {
temp = score[i][k];
score[i][k] = score[j][k];
score[j][k] = temp;
}
}
}
}
// 输出排序后的学生成绩
printf("排序后的学生成绩为:\n");
for (i = 0; i < N; i++) {
printf("第%d名学生的平均成绩为:%.2f,各门课的成绩为:", i + 1, avg[i]);
for (j = 0; j < M; j++) {
printf("%.2f ", score[i][j]);
}
printf("\n");
}
return 0;
}
```
阅读全文