#include<stdio.h>
#include<stdlib.h>
#define P 10 //学生人数
#define LEN sizeof(struct Student) //结构体长度,方便后面为其分配空间
struct Student *Create(); //创建链表
void Print(struct Student *head); //输出链表
void Fang(struct Student **head); //释放链表
struct Student
{
char xh[12];
char name[10];
int age;
struct Student *next;
};
int main()
{
struct Student *head;
head=Create();
Print(head);
Fang(&head);
return 0;
}
struct Student *Create()
{
struct Student *head=NULL,*p,*p1;;
int i=0;
while(i<P)
{
p=(struct Student *)malloc(LEN);
printf("请输入第%d位同学的学号,姓名,年龄,以空格间隔:\n",i+1);
scanf("%s%s%d",p->xh ,p->name ,&p->age );
p->next =NULL;
i++;
if(head==NULL)
{
head=p;
p1=p;
}
else
{
p1->next=p;
p1=p;
}
}
return head;
}
void Print(struct Student *head)
{
struct Student *p;
p=head;
while(p!=NULL)
{
printf("%s,%s,%d\n",p->xh ,p->name ,p->age );
p=p->next ;
}
}
void Fang(struct Student **head)
{
struct Student *p;
while(*head!=NULL)
{
p=*head;
*head=(*head)->next ;
free(p);
}
*head=NULL;
}
(四川大学出版社C语言程序设计第二版课后习题)十个学生信息,学号,姓名,年龄,读出形成链表
最新推荐文章于 2022-11-11 09:53:27 发布