早教吧 育儿知识 作业答案 考试题库 百科 知识分享

根据源程序代码画出流程图利用循环链表求约瑟夫环出列顺序.要求编号为1、2、3……n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数).开始任选一个正整数作为报数上限m,从第一

题目详情
根据源程序代码画出流程图
利用循环链表求约瑟夫环出列顺序.要求编号为1、2、3……n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数).开始任选一个正整数作为报数上限m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数,此时报m的人出列,并将他的密码作为新的m值,从他下一个人开始按顺时针方向重新从1报数.如此循环,直到所有的人全部出列为止.
源程序
#include
#include
struct Lnode /*定义链表*/
{int number;
int password;
struct Lnode *next;
}Lnode,*p,*q,*head;
int main(void)
{int n; /*n个人*/
int i;
int m; /*初始报数上限值*/
int j;
printf("please enter the number of people n:"); /*输入测试人的数量*/
scanf("%d",&n);
if(npassword));
p->number=i;
}
p->next=head; /*形成循环链表*/
p=head;
printf("please enter the number m:");
scanf("%d",&m);
printf("The password is:\n");
for (j=1;jpassword;
printf("%d ",p->number);
p->number=p->next->number; /*删除报m的节点*/
p->password=p->next->password;
q=p->next;
p->next=p->next->next;
free(q);
}
}
▼优质解答
答案和解析
图已发请查收
看了根据源程序代码画出流程图利用循...的网友还看了以下:

从水循环角度看,莱茵河()①流域内总体上蒸发旺盛②流域的降水主要源自西风带③河水主要参与海陆间循环  2020-05-13 …

读欧洲局部地区示意图,回答下列各题。1.从水循环角度看,莱茵河()①流域内总体上蒸发旺盛②流域的降  2020-05-13 …

从水循环角度看,莱茵河()①流域内总体上蒸发旺盛②流域的降水主要源自西风带③河水主要参与海陆间循环  2020-05-13 …

读欧洲局部地区示意图,完成20~21题从水循环角度看,莱茵河()①流域内总体上蒸发旺盛②流域的降水  2020-05-13 …

人体内流经肾的每一滴血,每天要被过滤多少次?怎么计算呢?如果按体循环计算是不是3000多次?可是答  2020-07-01 …

阅读下面的文字,完成后面题目。谈谈“循序渐进”与“为而不争”中华传统美德蕴含着丰富的思想道德资源,  2020-07-05 …

阅读下面的文字,按要求写作文。在城市的超市货架上,牛奶整齐划一,包装光鲜。循着生产链条向源头看去,  2020-08-02 …

阅读下面的文字,按要求写作文。在城市的超市货架上,牛奶整齐划一,包装光鲜。循着生产链条向源头看去,  2020-08-02 …

vb百钱买百鸡,三重循环小鸡每只5角,公鸡每只2元,母鸡每只3源,有100元要求买100只鸡书上有二  2020-11-01 …

南非世界杯的小组预选赛采用循环赛(每两个球队都要比赛一场),每小组4支球队,一共要比赛场;如果要交换  2021-01-02 …