C语言链表实现增删查改
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student{
char num[20];
char name[20];
int Chanese;
int English;
int Math;
struct student *next;
}Lnode,* LinkList;
void Display(LinkList list){
Lnode *p = list->next;
while( p != NULL ){
printf("链表值为:\n");
printf("%-16s%-16s%-8d%-8d%-8d\n",p->num,p->name,p->Chanese,p->English,p->Math);
p = p->next;
}
}
void InitList(LinkList list){
Lnode *head=list;
head = (LinkList)malloc(sizeof(Lnode));
head->next = NULL;
}
void AddStudent(LinkList list){
Lnode *p = list,*node;
node = (LinkList)malloc(sizeof(Lnode));
while(p->next != NULL){
p = p->next;
}
p->next = node;
p = node;
printf("请输入该生的学号,姓名,语文成绩,英语成绩,数学成绩:\n");
scanf("%s",&node->num);
scanf("%s",&node->name);
scanf("%d",&node->Chanese);
scanf("%d",&node->English);
scanf("%d",&node->Math);
p->next = NULL;
}
void Search_name(LinkList list){
Lnode *p = list->next;
char a[20];
printf("请输入要查找学生的姓名:\n");
scanf("%c",&a);
while( p != NULL ){
if(strcmp(a,p->name)