首页 > 代码库 > C语言:SWUST OJ,程序设计C 实验六 结构体 题目三 学生结构体链表(0068)

C语言:SWUST OJ,程序设计C 实验六 结构体 题目三 学生结构体链表(0068)

Description:

用结构体建立学生信息,学生信息包括学号、姓名、成绩,建立一个有 n 名学生的链
表, 并将链表输出。

Input:

一次输入学生信息包括学号、姓名。0 0 0结束程序。

Sample Input:

C1001 Li 70
M1002 He 89
E1003 Xie 83
M1004 Wu 92
E1005 Bao 80
 
Sample Output:
C1001 Li 70
M1002 He 89
E1003 Xie 83
M1004 Wu 92
E1005 Bao 80
 
 1 #include <stdio.h> 2 #include <stdlib.h> 3 struct student 4 { 5     char num[20]; 6     char name[20]; 7     float score; 8     struct student *next; 9 };10 int n;11 struct student *creat()12 {13     struct student *head,*p1,*p2;14     n=0;15     p1=p2=(struct student *)malloc(sizeof(struct student));16     scanf("%s %s %f",p1->num,p1->name,&p1->score);17     head=NULL;18     while(p1->num!=0&&p1->name!=0&&p1->score!=0)19     {20         n+=1;21         if(n==1)22             head=p1;23         else24             p2->next=p1;25         p2=p1;26         p1=(struct student *)malloc(sizeof(struct student));27         scanf("%s %s %f",p1->num,p1->name,&p1->score);28     }29     p2->next=NULL;30     return head;31 }32 void print(struct student *head)33 {34     struct student *p;35     p=head;36     if(head!=NULL)37     {38         do 39         {40             printf("%s %s %g\n",p->num,p->name,p->score);41             p=p->next;42         } while(p!=NULL);43     }44 }45 int main()46 {47     struct student *head;48     head=creat();49     print(head);50     return 0;51 }

 

C语言:SWUST OJ,程序设计C 实验六 结构体 题目三 学生结构体链表(0068)