使用C语言编写1.构造学生信息链表,学生信息应包括姓名和年龄(链表初始化)
时间: 2023-07-12 21:40:53 浏览: 86
C语言使用链表实现学生信息管理系统
5星 · 资源好评率100%
好的,我可以为您解答这个问题。
首先,我们需要定义一个结构体来存储学生信息:
```c
struct student {
char name[20];
int age;
struct student *next;
};
```
其中,`name` 存储学生姓名,`age` 存储学生年龄,`next` 存储下一个节点的地址。
然后,我们可以编写一个函数来初始化链表:
```c
struct student *init_list() {
struct student *head = NULL;
struct student *p = NULL;
char name[20];
int age;
printf("Please enter student's name and age (enter 'exit' to end):\n");
while (1) {
scanf("%s", name);
if (strcmp(name, "exit") == 0) {
break;
}
scanf("%d", &age);
struct student *node = (struct student *)malloc(sizeof(struct student));
strcpy(node->name, name);
node->age = age;
node->next = NULL;
if (head == NULL) {
head = node;
p = node;
} else {
p->next = node;
p = node;
}
}
return head;
}
```
该函数会从用户输入中获取学生姓名和年龄,然后创建一个新的节点,并将其添加到链表中。
最后,我们可以在主函数中调用该函数来初始化链表:
```c
int main() {
struct student *head = init_list();
// ...
return 0;
}
```
当然,这只是一个简单的链表初始化例子,您可以根据需求进行修改和扩展。
阅读全文