#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(node)
typedef struct student
{
char id[20];
char name[10];
char x[10];
int year;
struct student *next;
}*List, node;
List phead;
List creat(int n)
{
int i;
List p, phead;
phead = (List)malloc(LEN);
phead->next = NULL;
for(i = 0;i < n;i++){
p = (List)malloc(LEN);
printf("请输入学号:\n");
scanf("%s", p->id);
printf("请输入姓名:\n");
scanf("%s", p->name);
printf("请输入性别:\n");
scanf("%s",p->x);
printf("请输入年龄:\n");
scanf("%d", &p->year);
p->next = phead->next;
phead->next = p;
}
return phead;
}
List find()
{
List t;
int year;
printf("请输入你要删除的年龄值:");
scanf("%d", &year);
for(t = phead->next;t!=NULL;t = t->next){
if(t->next->year == year){
return t;
}
else{
return NULL;
}
}
}
List delete()
{
List ft, q;
ft = find();
if(ft){
q = ft->next;
ft->next = q->next;
free(q);
}
return phead;
}
void print()
{
List p;
for(p = phead->next; p!=NULL;p = p->next){
printf("%s %s %s %d\n", p->id, p->name, p->x, p->year);
}
}
int main()
{
printf("请输入学生个数:\n");
int n;
scanf("%d", &n);
phead = creat(n);
print();
delete();
print();
}
链表删除.c
猜你喜欢
转载自blog.csdn.net/qiangshuting/article/details/80535214
今日推荐
周排行