、建立具有三个结点的链表并输出链表。结点数据为学号、姓名。其中main函数代码如下: int main() { st *head; head=input(); print (head); return 0; }
时间: 2023-11-27 15:53:24 浏览: 80
以下是建立具有三个结点的链表并输出链表的完整代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct student {
char id[10];
char name[20];
struct student *next;
} st;
st* input() {
st *head, *p, *q;
head = NULL;
q = NULL;
for (int i = 0; i < 3; i++) {
p = (st*)malloc(sizeof(st));
printf("请输入第 %d 个学生的学号和姓名:", i+1);
scanf("%s %s", p->id, p->name);
p->next = NULL;
if (head == NULL) {
head = p;
} else {
q->next = p;
}
q = p;
}
return head;
}
void print(st *head) {
st *p = head;
printf("学号\t姓名\n");
while (p != NULL) {
printf("%s\t%s\n", p->id, p->name);
p = p->next;
}
}
int main() {
st *head;
head = input();
print(head);
return 0;
}
```
运行结果如下:
```
请输入第 1 个学生的学号和姓名:1001 Tom
请输入第 2 个学生的学号和姓名:1002 Jack
请输入第 3 个学生的学号和姓名:1003 Mary
学号 姓名
1001 Tom
1002 Jack
1003 Mary
```
阅读全文