// 写一个函数,建立一个有三个学生数据的动态链表.动态链表的深奥程度真心可以。大家加油啊
//
#include<stdio.h>
#include<stdlib.h>
#define len sizeof(struct Student)
struct Student
{
int num;
float score;
struct Student *next;
};
int n;
struct Student *creat(void)
{
struct Student *head,*p1,*p2;
n=0;
p1=p2=(struct Student *)malloc(len);
scanf("%d %f",&p1->num,&p1->score);
head=NULL;
while(p1->num!=0)
{
n=n+1;
if(n==1) head=p1;
else p2->next=p1;
p2=p1;
p1=(struct Student*)malloc(len);
scanf("%d %f",&p1->num,&p1->score);
}
p2->next=NULL;
return (head);
}
int main()
{
struct Student *pt;
pt=creat();
printf("%d %f",pt->num,pt->score);
return 0;
}
//
#include<stdio.h>
#include<stdlib.h>
#define len sizeof(struct Student)
struct Student
{
int num;
float score;
struct Student *next;
};
int n;
struct Student *creat(void)
{
struct Student *head,*p1,*p2;
n=0;
p1=p2=(struct Student *)malloc(len);
scanf("%d %f",&p1->num,&p1->score);
head=NULL;
while(p1->num!=0)
{
n=n+1;
if(n==1) head=p1;
else p2->next=p1;
p2=p1;
p1=(struct Student*)malloc(len);
scanf("%d %f",&p1->num,&p1->score);
}
p2->next=NULL;
return (head);
}
int main()
{
struct Student *pt;
pt=creat();
printf("%d %f",pt->num,pt->score);
return 0;
}