c语言用顺序表写学号判断
时间: 2024-02-17 15:03:18 浏览: 46
C语言:顺序表
可以使用顺序表来存储学号,然后使用遍历顺序表的方式进行判断。具体步骤如下:
1. 定义一个结构体类型,包含学号等相关信息。
```c
typedef struct {
char id[10]; // 学号
char name[20]; // 姓名
int age; // 年龄
} Student;
```
2. 定义一个顺序表类型,用来存储学生信息。
```c
#define MAX_SIZE 100 // 顺序表的最大容量
typedef struct {
Student data[MAX_SIZE]; // 存储学生信息的数组
int length; // 顺序表的长度
} SeqList;
```
3. 定义一个函数,用来遍历顺序表,查找指定学号的学生。
```c
int search(SeqList L, char id[]) {
int i;
for (i = 0; i < L.length; i++) {
if (strcmp(L.data[i].id, id) == 0) {
return i; // 返回学生在顺序表中的下标
}
}
return -1; // 没有找到对应学号的学生
}
```
4. 在主函数中创建一个顺序表对象,并往其中添加若干个学生信息。
```c
int main() {
SeqList L;
L.length = 0;
// 添加学生信息
strcpy(L.data[0].id, "1001");
strcpy(L.data[0].name, "张三");
L.data[0].age = 18;
strcpy(L.data[1].id, "1002");
strcpy(L.data[1].name, "李四");
L.data[1].age = 19;
L.length = 2;
// 查找学号为 "1002" 的学生
int index = search(L, "1002");
if (index != -1) {
printf("学号为 %s 的学生是 %s,年龄为 %d\n", L.data[index].id, L.data[index].name, L.data[index].age);
} else {
printf("没有找到对应学号的学生\n");
}
return 0;
}
```
阅读全文