python列表输出学生姓名学号链表_1. 建立一个学生信息的循环链表,每个节点里面包含了学生学号、姓名、籍贯三个信息。通过遍历,输出链表...

2010-12-10 回答

下面是源代码

#include<stdio.h>

#include<malloc.h>

#define size sizeof(struct student)

struct student //定义每个节点的信息结构体

{

long number; //学号

char name[20]; //姓名

char home[50]; //籍贯

struct student *next;

}*head; //定义循环链表的表头指针

int main()

{

struct student *front=null,*later=null;

head=(struct student *)malloc(size); //申请第一个结点

front=head;

scanf("%ld %s %s",&head->number,head->name,head->home);

//输入第一个学生信息,以空格隔开三样信息

for( ; front->number!=0 ; ) //以number=0为输入结束的标志

{

front->next=(struct student *)malloc(size);

later=front;

front=front->next;

//使得front指向最新的结点,later指向最新结点的前面一个结点

scanf("%ld %s %s",&front->number,front->name,front->home);

}

later->next=head;

//上面的语句就已经把最后的number=0的无用结点舍去

//用最后一个学生数据的节点连接到头节点处形成循环链表

//下面进行遍历输出链表数据,front这个指针用来进行向下读取

printf("\n\n%ld %s %s\n",head->number,head->name,head->home);

for(front=head->next ; front!=head ; front=front->next)

printf("%ld %s %s\n",front->number,front->name,front->home);

//下面两句是用来停留屏幕观察结果的

getchar(); getchar();

return 0;

}

测试用例:

1 a aaa

2 b bbb

3 c ccc

0 d ddd

结果:

1 a aaa

2 b bbb

3 c ccc

希望能帮到你。如有疑问,欢迎垂询~

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值