C语言30个数抽10个,C语言程序设计,数数跳河问题,30个人,从1到9数数,数到9的就跳河!!!...

满意答案

用循环单链表解决直接明了

#include

typedef struct LNode

{

int number;

struct LNode *next;

}LinkList;

void main()

{

int i,outp;

LinkList *head = (LinkList *)malloc(sizeof(LinkList));

LinkList *p = head;

head->number = 1;//第一个人编号为1

head->next = head;

for (i = 2; i <= 30; i++)

{//编号,创建循环单链表

LinkList *q = (LinkList *)malloc(sizeof(LinkList));

q->number = i;

p->next = q;

p = q;

if (i == 30)

{

q->next = head;

}

}

p = head;

i = 1;

outp = 0;//计出圈人数

while (outp != 15)

{

p = p->next;

i++;

if (i == 8)

{//下一个人跳出

printf("%3d",p->next->number);

p->next = p->next->next;

p = p->next;

i = 1;

outp++;

}

}

}

****************************************************************

运行结果:

9 18 27 6 16 26 7 19 30 12 24 8 5 23

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值