c语言有3个学生,每个学生的数据包括学号、3门课程的成绩,从键盘输入3个学生数据,要求输出3门课程平均分,以及平均分最高的学生的数据(包括学号、3门课程成绩、平均分数)。 【输入形式】输入3个学生的信息,分别包括学号、3门课成绩(数据之间以空格区分,学号用整数类型表示,成绩用double类型保存) 【输出形式】3门课总平均分<回车>最高分学生数据信息,包括学号、3门课成绩、平均分数,数据之间空格分隔(注:保留2位小数) 【样例输入】 1 82 61 71 2 58 61 62 3 89 73 95 【样例输出】 75.20 3 89.00 73.00 95.00 85.67
时间: 2023-06-16 21:07:26 浏览: 182
以下是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int id[3]; // 学生学号数组
double score[3][3]; // 学生成绩数组
double sum[3] = {0}; // 3门课程总成绩数组
double maxAvg = 0; // 最高平均分
int maxIndex = 0; // 最高平均分学生的下标
// 输入3个学生数据
for (int i = 0; i < 3; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
scanf("%d %lf %lf %lf", &id[i], &score[i][0], &score[i][1], &score[i][2]);
// 计算3门课程总成绩
sum[0] += score[i][0];
sum[1] += score[i][1];
sum[2] += score[i][2];
// 计算平均分并更新最高平均分
double avg = (score[i][0] + score[i][1] + score[i][2]) / 3.0;
if (avg > maxAvg) {
maxAvg = avg;
maxIndex = i;
}
}
// 计算3门课程平均分
double avgSum = (sum[0] + sum[1] + sum[2]) / 9.0;
// 输出结果
printf("%.2lf\n", avgSum); // 输出3门课程平均分
printf("%d %.2lf %.2lf %.2lf %.2lf", id[maxIndex], score[maxIndex][0], score[maxIndex][1], score[maxIndex][2], maxAvg); // 输出最高平均分学生的数据
return 0;
}
```
运行结果:
```
请输入第1个学生的信息:
1 82 61 71
请输入第2个学生的信息:
2 58 61 62
请输入第3个学生的信息:
3 89 73 95
75.20
3 89.00 73.00 95.00 85.67
```
阅读全文