6-1 链表的基本操作-创建一个链表 分数 10 作者 李志聪 单位 哈尔滨师范大学 有一链式结构,定义如下 : struct stu{ char name[20]; int no; struct stu *next; }; 创建一个函数create(),实现无头结点的链表,有m个结点,函数的返回值为链表的头指针。 函数接口定义: 在这里描述函数接口。例如: struct stu * create() 在这里解释接口参数。在函数中输入m,及m行数据,完成链表的创建。 裁判测试程序样例: 在
时间: 2024-03-17 12:46:37 浏览: 89
这个题目和之前你问的问题很类似,我已经给你写过了,这里再贴一遍:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct stu{
char name[20];
int no;
struct stu *next;
};
struct stu* create(int m){
struct stu *head, *p, *q;
int i;
head = NULL;
for(i=0; i<m; i++){
p = (struct stu*)malloc(sizeof(struct stu));
printf("请输入第%d个学生的姓名和学号:", i+1);
scanf("%s %d", p->name, &p->no);
p->next = NULL;
if(head == NULL){
head = p;
}else{
q->next = p;
}
q = p;
}
return head;
}
int main(){
int m;
struct stu *p;
printf("请输入学生的个数:");
scanf("%d", &m);
p = create(m);
printf("学生的信息如下:\n");
while(p != NULL){
printf("%s %d\n", p->name, p->no);
p = p->next;
}
return 0;
}
```
你可以将这段代码复制到编译器中运行,输入学生个数和每个学生的姓名和学号,就可以创建一个无头结点的链表并输出每个学生的信息。
阅读全文