使用尾插法创建链表并且输出
//使用尾插法创建链表并且输出 #include<stdio.h> #include<stdlib.h> #include<malloc.h> #define LEN sizeof(struct Student) struct Student{ long long num; float score; struct Student *next; }; int n; //建立创建链表的函数 struct Student *creat(){ struct Student *head,*p1,*p2; p1=p2=(struct Student*)malloc(LEN); scanf("%ld%f",&p1->num,&p1->score); head=NULL; n=0; while(p1->num!=0){ n=n+1; if(n==1) head=p1; else p2->next=p1; p2=p1; p1=(struct Student*)malloc(LEN); scanf("%ld%f",&p1->num,&p1->score); } p2->next=NULL; return head; } void print(struct Student *head){ struct Student *p; printf("输出信息:\n"); p=head; while(p!=NULL){ printf("%ld %f\n",p->num,p->score); p=p->next; } } int main() { struct Student *pt; pt=creat(); print(pt); return 0; }
收录于文章《885程序设计考点狂背总目录中》
一纸高中万里风,寒窗读破华堂空。
莫道长安花看尽,由来枝叶几相同?