定义一个学生结构体包含学号、姓名等成员,定义初始化含有 5 个学生结构体类型的数组变量,能通过输入学号查到学生的相关信息并输出
时间: 2024-09-09 07:17:32 浏览: 168
C++中结构体的类型定义和初始化以及变量引用
在C语言中,可以使用结构体(struct)来定义学生的数据类型,包含学号、姓名等成员。下面是一个示例代码,演示如何定义一个学生结构体,初始化含有5个学生结构体的数组,并通过输入学号来查找并输出学生的相关信息。
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
struct Student {
char id[20]; // 学号
char name[50]; // 姓名
};
// 打印学生信息的函数
void printStudentInfo(struct Student s) {
printf("学号: %s\n", s.id);
printf("姓名: %s\n", s.name);
}
int main() {
// 初始化含有5个学生结构体的数组
struct Student students[5] = {
{"2019001", "张三"},
{"2019002", "李四"},
{"2019003", "王五"},
{"2019004", "赵六"},
{"2019005", "孙七"}
};
char searchId[20]; // 输入要查找的学号
int found = 0; // 是否找到学生
printf("请输入要查找的学生学号:");
scanf("%s", searchId); // 输入学号
// 遍历数组查找学生信息
for (int i = 0; i < 5; i++) {
if (strcmp(students[i].id, searchId) == 0) { // 找到匹配的学号
printf("找到学生信息:\n");
printStudentInfo(students[i]); // 打印学生信息
found = 1;
break;
}
}
if (!found) {
printf("未找到学号为 %s 的学生。\n", searchId);
}
return 0;
}
```
这段代码首先定义了一个包含学号和姓名的学生结构体,然后初始化了一个包含5个学生信息的数组。在`main`函数中,程序会提示用户输入要查找的学号,然后遍历数组,通过字符串比较函数`strcmp`来查找匹配的学号。一旦找到,就会调用`printStudentInfo`函数打印该学生的信息。如果没有找到,程序将输出未找到学生的信息。
阅读全文