结构体链表赋值与删除

来源:互联网 发布:日本尺八制作数据 编辑:程序博客网 时间:2024/06/01 09:04

学生结构体链表赋值与删除

#include<stdio.h>#include<malloc.h>#define LEN sizeof(struct student)struct student{    char num[6];    char name[8];    char sex[2];    int age;    struct student *next;}stu[10];void main(){    struct student *p,*pt,*head;    int i,length,iage,flag=1;    int find=0;    while(flag==1)    {        printf("input length of list(<10):");        scanf("%d",&length);        if(length<10)            flag=0;    }    for(i=0;i<length;i++)    {        p=(struct student *)malloc(LEN);        if(i==0)            head=pt=p;        else            pt->next=p;        pt=p;        printf("No.:");        scanf("%s",p->num);        printf("name:");        scanf("%s",p->name);        printf("sex:");        scanf("%s",p->sex);        printf("age:");        scanf("%d",&p->age);    }    p->next=NULL;    p=head;    printf("\nNo.      name    sex     age\n");    while(p!=NULL)    {        printf("%4s%8s%6s%6d\n",p->num,p->name,p->sex,p->age);        p=p->next;    }    printf("input age:");    scanf("%d",&iage);    pt=head;    p=pt;    if(pt->age==iage)    {       p=pt->next;       head=pt=p;       find=1;    }    else        pt=pt->next;    while(pt!=NULL)    {        if(pt->age==iage)        {            p->next=pt->next;            find=1;        }        else            p=pt;        pt=pt->next;    }    if(!find)        printf("NOT FOUNDED %d.",iage);    p=head;    printf("\nNo.   name    sex    age\n");    while(p!=NULL)    {        printf("%4s%8s",p->num,p->name);        printf("%6s%6d\n",p->sex,p->age);        p=p->next;    }}
0 0
原创粉丝点击