C语言:编写一个程序输入3个学生的学号,姓名,3门课程的成绩,输出学号,姓名,3门课程的成绩和最高分的学生
时间: 2024-01-11 12:03:32 浏览: 78
好的,以下是C语言的程序代码实现:
```c
#include <stdio.h>
#include <string.h>
struct student {
char id[10];
char name[20];
int score1;
int score2;
int score3;
int max_score;
};
int main() {
struct student s[3];
int i, max_index = 0;
for (i = 0; i < 3; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
printf("学号:");
scanf("%s", s[i].id);
printf("姓名:");
scanf("%s", s[i].name);
printf("三门课程的成绩:");
scanf("%d%d%d", &s[i].score1, &s[i].score2, &s[i].score3);
s[i].max_score = s[i].score1 > s[i].score2 ? s[i].score1 : s[i].score2;
s[i].max_score = s[i].max_score > s[i].score3 ? s[i].max_score : s[i].score3;
if (s[i].max_score > s[max_index].max_score) {
max_index = i;
}
}
printf("\n学号\t姓名\t成绩1\t成绩2\t成绩3\t最高分\n");
for (i = 0; i < 3; i++) {
printf("%s\t%s\t%d\t%d\t%d\t%d\n", s[i].id, s[i].name, s[i].score1, s[i].score2, s[i].score3, s[i].max_score);
}
printf("\n最高分的学生是:%s,成绩为%d\n", s[max_index].name, s[max_index].max_score);
return 0;
}
```
程序通过结构体来存储每个学生的信息,包括学号、姓名和三门课程的成绩。在输入信息的同时,计算出每个学生的最高分,并记录下最高分的学生的下标。最后输出所有学生的信息以及最高分的学生的姓名和成绩。
阅读全文