编写程序,从键盘输入n(n<=30)个学生的学号(学号为4位的整数,从1000开始)、姓名、成绩并存入结构体数组中,查找并输出成绩最高的学生信息(可能有多个)。
时间: 2023-06-02 19:04:29 浏览: 117
汇编课程设计__显示学生名次
3星 · 编辑精心推荐
好的,这是一道关于程序设计的问题,可以回答。下面是可能的代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_N 30
#define MAX_NAME_LEN 20
struct Student {
int id;
char name[MAX_NAME_LEN];
int score;
};
int main() {
struct Student students[MAX_N];
int n;
printf("请输入学生数量(n<=30): ");
scanf("%d", &n);
// 读入学生信息
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的学号、姓名、成绩(空格隔开): ", i + 1);
scanf("%d %s %d", &students[i].id, students[i].name, &students[i].score);
}
// 找到成绩最高的学生
int max_score = 0;
for (int i = 0; i < n; i++) {
if (students[i].score > max_score) {
max_score = students[i].score;
}
}
// 输出成绩最高的学生信息
printf("成绩最高的学生信息如下:\n");
for (int i = 0; i < n; i++) {
if (students[i].score == max_score) {
printf("学号:%d 姓名:%s 成绩:%d\n", students[i].id, students[i].name, students[i].score);
}
}
return 0;
}
```
希望能够满足您的需求,有问题欢迎继续提问。
阅读全文