c语言按照输入的学号查询对应学生的姓名
时间: 2024-05-08 19:21:55 浏览: 52
使用结构体数组,利用函数实现按学生学号和姓名的查询操作.c
实现这个功能需要用到数据结构,一种常见的方法是使用结构体数组。假设我们有如下的学生信息:
```c
struct student {
int id;
char name[20];
} students[3] = {
{ 1001, "张三" },
{ 1002, "李四" },
{ 1003, "王五" }
};
```
这里定义了一个结构体 `student`,包含了学号和姓名两个字段。然后定义了一个结构体数组 `students`,包含了三个学生的信息。
现在我们需要按照输入的学号查询对应学生的姓名。假设输入的学号为 `id`,那么可以使用一个循环遍历结构体数组,找到学号为 `id` 的学生,然后返回该学生的姓名。具体实现代码如下:
```c
#include <stdio.h>
#include <string.h>
struct student {
int id;
char name[20];
} students[3] = {
{ 1001, "张三" },
{ 1002, "李四" },
{ 1003, "王五" }
};
char* find_name_by_id(int id) {
for (int i = 0; i < 3; i++) {
if (students[i].id == id) {
return students[i].name;
}
}
return NULL;
}
int main() {
int id;
printf("请输入学号:");
scanf("%d", &id);
char* name = find_name_by_id(id);
if (name != NULL) {
printf("学生姓名:%s\n", name);
} else {
printf("没有找到该学生\n");
}
return 0;
}
```
在 `find_name_by_id` 函数中,我们使用了一个循环遍历结构体数组,找到学号为 `id` 的学生,然后返回该学生的姓名。如果没有找到该学生,则返回 `NULL`。
在 `main` 函数中,我们首先读入输入的学号,然后调用 `find_name_by_id` 函数查询对应学生的姓名。如果找到了该学生,则输出学生的姓名;否则输出提示信息。
阅读全文