用c语言编写,有10个学生,每个学生的数据包括学号、姓名、三门课程的成绩,从键盘输入10个学生的数据,请求出各学生的平均成绩。打印出10位学生的信息以及最高分的学生的数据(包括学生、姓名、三门课程成绩、平均分数)。
时间: 2024-09-25 07:05:37 浏览: 141
在C语言中,你可以使用结构体来表示一个学生,并通过循环结构输入和计算他们的数据。这里是一个简单的示例代码:
```c
#include <stdio.h>
// 定义一个学生结构体
struct Student {
int id;
char name[50];
float score1, score2, score3; // 三门课程的成绩
};
int main() {
struct Student students[10]; // 存储10个学生的数组
int i;
// 输入10个学生的信息
for (i = 0; i < 10; i++) {
printf("请输入第%d个学生的学号: ", i + 1);
scanf("%d", &students[i].id);
printf("请输入学生姓名: ");
scanf("%s", students[i].name);
printf("请输入第一门课成绩: ");
scanf("%f", &students[i].score1);
printf("请输入第二门课成绩: ");
scanf("%f", &students[i].score2);
printf("请输入第三门课成绩: ");
scanf("%f", &students[i].score3);
// 计算平均成绩并存储
students[i].average_score = (students[i].score1 + students[i].score2 + students[i].score3) / 3.0;
}
// 找到最高分的学生
float max_score = students[0].average_score;
int max_student_index = 0;
for (i = 1; i < 10; i++) {
if (students[i].average_score > max_score) {
max_score = students[i].average_score;
max_student_index = i;
}
}
printf("\n最高分学生信息:\n");
printf("学生编号: %d\n", students[max_student_index].id);
printf("姓名: %s\n", students[max_student_index].name);
printf("三门课程成绩: 第一门:%.2f, 第二门:%.2f, 第三门:%.2f\n",
students[max_student_index].score1, students[max_student_index].score2, students[max_student_index].score3);
printf("平均分数: %.2f\n", students[max_student_index].average_score);
return 0;
}
```
运行此程序后,用户将输入10名学生的详细信息,然后程序会计算平均成绩并找到最高分的学生。
阅读全文