使用结构体数组存储5个学生的信息,每个学生包括id,name,score3个数据成员请将5个学生的信息存入结构体:。输出分数最高的学生信息。
时间: 2024-05-03 09:17:53 浏览: 109
下面是一种可能的实现方式:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LEN 20
struct student {
int id;
char name[MAX_NAME_LEN];
int score;
};
int main() {
struct student students[5];
int i, max_score = -1, max_index = -1;
for (i = 0; i < 5; i++) {
printf("Enter information for student %d:\n", i + 1);
printf("ID: ");
scanf("%d", &students[i].id);
printf("Name: ");
scanf("%s", students[i].name);
printf("Score: ");
scanf("%d", &students[i].score);
if (students[i].score > max_score) {
max_score = students[i].score;
max_index = i;
}
}
printf("Student with highest score:\n");
printf("ID: %d\n", students[max_index].id);
printf("Name: %s\n", students[max_index].name);
printf("Score: %d\n", students[max_index].score);
return 0;
}
```
这里定义了一个结构体 `student`,包括 `id`、`name` 和 `score` 三个成员。然后定义了一个结构体数组 `students`,存储 5 个学生的信息。在输入信息的过程中,记录分数最高的学生的下标 `max_index` 和分数的最大值 `max_score`。最后输出分数最高的学生的信息。
阅读全文