标签:des style blog io color ar sp for strong
题目来源:SWUST OJ 程序设计C 实验六 结构体 题目三 学生结构体链表(0068)
用结构体建立学生信息,学生信息包括学号、姓名、成绩,建立一个有 n 名学生的链 表, 并将链表输出。
Input
一次输入学生信息包括学号、姓名。0 0 0结束程序
Output
从链表表头到表位依次输出。
Sample Output
C1001 Li 70
M1002 He 89
E1003 Xie 83
M1004 Wu 92
|
|
C1001 Li 70
M1002 He 89
E1003 Xie 83
M1004 Wu 92
1 #include<stdio.h> 2 #include<stdlib.h> 3 #define LEN sizeof(struct student) 4 struct student//表示每个结点 5 { 6 char num[50]; 7 char name[50]; 8 float score; 9 struct student *next;//指向下一个结点 10 }; 11 int main() 12 { 13 struct student *p1,*p2,*head; 14 p1=p2=(struct student *)malloc(LEN);//开辟第一个结点 15 scanf("%s%s%f",p1->num,p1->name,&p1->score);//输入第一个结点 16 head=NULL; 17 if(p1->num[0]==‘0‘&&p1->name[0]==‘0‘&&p1->score==0)//判断第一次是否结束循环 18 return 0; 19 for(int i=0;p1->num[0]!=‘0‘||p1->name[0]!=‘0‘||p1->score!=0;i++){//输入结束的条件 20 if(i==0) 21 head=p1;//链表头记录下来 22 else 23 { 24 p2=p1;//用p2来记录p1刚刚走过的结点 25 p1=(struct student *)malloc(LEN);//开辟新的结点来存储新的内容 26 p2->next=p1;//p2的next指向p1 27 scanf("%s%s%f",&p1->num,p1->name,&p1->score);//输入结点内容 28 } 29 } 30 p1->next=NULL;//最后的结点指向NULL 31 p1=head; 32 while(p1->next!=NULL){//输出数据 33 printf("%s %s %g\n",p1->num,p1->name,p1->score); 34 p1=p1->next; 35 } 36 return 0; 37 }
|
|
标签:des style blog io color ar sp for strong
原文地址:http://www.cnblogs.com/yanglingwell/p/4083587.html