|
发表于 2013-11-13 00:04:41
|
显示全部楼层
本帖最后由 思无邪 于 2013-11-13 00:07 编辑
#include<stdio.h>
#include<malloc.h>
struct stu
{
int num;
float score;
struct stu *next;
};
void creat(struct stu *,int n);
void main()
{
int n;
struct stu *p = 0;
printf("input n:");
scanf("%d",&n);
creat(p,n);
}
void creat(struct stu *head,int n)
{
int i;
struct stu *pf,*pb;
for(i=0;i<n;i++)
{
pb=(struct stu *)malloc(sizeof(struct stu));
printf("input number and score:");
scanf("%d,%f",&(pb->num),&(pb->score));/*这里两个数字连在一起,用逗号分开,不然难以区分,还有你的地址取的有问题*/
printf("%d,%f\n",pb->num,pb->score);
getchar(); /* 截取掉输入流里的回车,也可以用一个清输入流的函数,具体自己查吧*/
if(i==0)
{
pf=head=pb;
}
else
{
pf->next=pb;
pb->next=NULL;
pf=pb;
}
}
}
|
|