#include<stdio.h>
#include<stdlib.h>
struct Student
{
int s_number;
float s_score;
struct Student *next;
};
struct Student * create()
{
struct Student *head=NULL, *p1, *p2;
while(1)
{
p1 = (struct Student *) malloc(sizeof(struct Student));
printf("请输入学号:\n");
scanf("%d", &p1->s_number);
if(p1->s_number==0)
{
printf("输入完毕\n");
break;
}
printf("请输入成绩:\n");
scanf("%f", &p1->s_score);
if(head==NULL)
{ head=p1;
p2=p1;
continue;
}
p2->next=p1;
p2=p1;
}
p2->next=NULL;
return head;
}
void main()
{
struct Student *head = create(),*p;
p=head;
printf("**************************这里是分割线************************\n");
while(1)
{
printf("学号为:%d,成绩为:%f\n",p->s_number,p->s_score);
if(p->next==NULL)
break;
p=p->next;
}
}
c语言链表
于 2021-07-28 00:26:30 首次发布
14万+

被折叠的 条评论
为什么被折叠?



