#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct lnode{
int id;
char name[20];
int age;
char sex;
struct lnode *next;
}lnode,*linklist;
linklist creat(void)
{ lnode l;
l=(lnode
)malloc(sizeof(lnode));
if(l= =NULL)
printf(“申请内存失败\n”);
l->next=NULL;
return l;
}
void see(lnode *a)
{ if(a= =NULL) printf(“链表为空\n”);
lnode *p;
p=a;
while§
{ printf("%d",p->id);
puts(p->name);
printf("%d%c",p->age,p->sex);
p=p->next;
}
}
void check(lnode *a)
{ int num;
lnode *p;
p=a;
scanf("%d",&num);
while(p->id!=num&&p)
p=p->next;
printf("%d",p->id);
puts(p->name);
printf("%d%c",p->age,p->sex);
}
linklist add(lnode *a)
{ lnode *l,p;
p=a;
l=(lnode
)malloc(sizeof(lnode));
if(l==NULL)
printf(“申请内存失败\n”);
printf(“请依次输入学生的学号,姓名,年龄和性别(男的用M,女的用W)\n”);
scanf("%d",l->id);
gets(l->name);
scanf("%d%c",l->age,l->sex);
l->next=p->next;
p->next=l;
return a;
}
linklist del(lnode *a)
{ lnode *p,*q;
p=a;
q=a->next;
int i;
printf(“输入想要删去的学生的学号\n”);
scanf("%d",&i);
while(q&&q->id!=i)
{ q=q->next;
p=p->next;
}
p->next=q->next;
free(q);
return a;
}
int main()
{ printf(“请输入操作相应序号:\n(1),创建一个单链表来存储学生基本信息;\n(2),浏览学生信息;\n(3),根据学号查询学生信息;\n(4),添加学生信息;\n(5),删除一个学生信息;\n”);
int n;
lnode *a;
scanf("%d",&n);
switch(n)
{
case 1: a=creat;break;
case 2: see(a);break;
case 3: check(a);break;
case 4: a=add(a);break;
case 5: a=del(a);break;
default: printf(“数据错误\n”);
} return 0;
} 菜鸟求助大神》》》
大一计算机菜鸟的数据结构作业
菜鸟求助大神》》》
运行后显示这样,我自己搞不懂是错哪里了,求大神指点

相关文章:

  • 2022-01-19
  • 2021-11-17
  • 2021-12-02
  • 2021-09-10
  • 2021-06-09
  • 2021-10-25
  • 2022-12-23
  • 2021-04-08
猜你喜欢
  • 2021-08-30
  • 2022-12-23
  • 2021-11-25
  • 2021-09-19
  • 2021-08-31
  • 2021-09-19
  • 2022-12-23
相关资源
相似解决方案