从键盘输入5个学生的基本信息,如姓名、年 龄、性别、学号,然后将学号最大的学生的基本信 息输出到屏幕。 1.定义结构体 2.定义结构体数组 3.结构体数组元素初始化 4.比较每个结构体数组元素的学号(strcmp0函数) C语言编程
时间: 2024-09-12 17:12:18 浏览: 68
学生成绩管理系统 系统功能基本要求 学生信息,学号、姓名、性别、专业、年级等
在C语言中,你可以通过以下步骤来实现从键盘输入5个学生的基本信息,并输出学号最大的学生的基本信息:
1. 定义结构体(struct):
首先,你需要定义一个结构体来存储单个学生的信息。结构体通常包含学生的姓名、年龄、性别和学号等字段。
```c
struct Student {
char name[50];
int age;
char gender[10];
char studentID[20];
};
```
2. 定义结构体数组:
然后,你可以定义一个结构体数组来存储多个学生的信息。在这个例子中,你需要一个可以存储5个学生的数组。
```c
struct Student students[5];
```
3. 结构体数组元素初始化:
通过循环结构,使用`scanf`函数从键盘读取每个学生的信息并存储到数组中。
```c
int i;
for (i = 0; i < 5; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
printf("姓名: ");
scanf("%s", students[i].name);
printf("年龄: ");
scanf("%d", &students[i].age);
printf("性别: ");
scanf("%s", students[i].gender);
printf("学号: ");
scanf("%s", students[i].studentID);
}
```
4. 比较每个结构体数组元素的学号并找出学号最大的学生:
你可以通过再次使用循环结构,使用`strcmp`函数比较每个学生的学号,找出学号最大的学生,并输出其信息。
```c
int maxIndex = 0;
for (i = 1; i < 5; i++) {
if (strcmp(students[i].studentID, students[maxIndex].studentID) > 0) {
maxIndex = i;
}
}
printf("学号最大的学生是:\n");
printf("姓名: %s\n", students[maxIndex].name);
printf("年龄: %d\n", students[maxIndex].age);
printf("性别: %s\n", students[maxIndex].gender);
printf("学号: %s\n", students[maxIndex].studentID);
```
注意,`strcmp`函数用于比较两个字符串,它返回一个整数,如果第一个字符串大于第二个字符串,返回值大于0。
阅读全文