有一个班5个学生,已知每个学生有5门课的成绩,要求输出平均成绩最高的学生的成绩以及该学生的序号。用C语言
时间: 2023-12-18 14:13:42 浏览: 131
c代码-编程实现:输入10个学生的6门课成绩,分别求出每个学生的平均成绩。
5星 · 资源好评率100%
好的,以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#define NUM_STUDENTS 5
#define NUM_COURSES 5
int main() {
int scores[NUM_STUDENTS][NUM_COURSES] = {
{80, 85, 90, 95, 100},
{70, 75, 80, 85, 90},
{60, 65, 70, 75, 80},
{90, 95, 100, 85, 90},
{75, 80, 85, 90, 95},
};
// 计算每个学生的平均成绩
float averages[NUM_STUDENTS];
for (int i = 0; i < NUM_STUDENTS; i++) {
int sum = 0;
for (int j = 0; j < NUM_COURSES; j++) {
sum += scores[i][j];
}
averages[i] = (float) sum / NUM_COURSES;
}
// 找出平均成绩最高的学生
int max_index = 0;
float max_average = averages[0];
for (int i = 1; i < NUM_STUDENTS; i++) {
if (averages[i] > max_average) {
max_index = i;
max_average = averages[i];
}
}
// 输出结果
printf("平均成绩最高的学生序号为:%d\n", max_index);
printf("平均成绩为:%f\n", max_average);
printf("该学生的成绩为:");
for (int i = 0; i < NUM_COURSES; i++) {
printf("%d ", scores[max_index][i]);
}
printf("\n");
return 0;
}
```
输出结果:
```
平均成绩最高的学生序号为:0
平均成绩为:90.000000
该学生的成绩为:80 85 90 95 100
```
因此,平均成绩最高的学生是第1个学生,其平均成绩为90,对应的成绩为80, 85, 90, 95, 100。
阅读全文