首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设有n个人坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始从1到m报数,如此进行下去直到所有的人都出圈为止。先要求按出圈次序,每10个人为一组,给出这n个人的顺序表。请编制函数Josegh
设有n个人坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始从1到m报数,如此进行下去直到所有的人都出圈为止。先要求按出圈次序,每10个人为一组,给出这n个人的顺序表。请编制函数Josegh
admin
2009-02-15
57
问题
设有n个人坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始从1到m报数,如此进行下去直到所有的人都出圈为止。先要求按出圈次序,每10个人为一组,给出这n个人的顺序表。请编制函数Josegh()实现此功能并调用函数WriteDat()把编号按照出圈顺序输出到文件OUT59.DAT中。
设n=100,s=1,m=10进行编程。
注意:部分源程序已给出。
请勿改动主函数main()和写函数WriteDat()的内容。
试题程序:
#include<stdio.h>
#define N 100
#define S 1
#define M 10
int p[100],n,s,m;
void WriteDat(void);
void Josegh(void)
{
}
void main()
{
m=M; n=N; s=S;
Josegh();
WriteDat();
}
void WriteDat(void)
{
int i;
FILE *fp;
fp=fopen("OUT59.DAT","w");
for(i=N-1;i>=0;i--)
{
printf("%4d",p
);
fprintf(fp,"%4d",p
);
if (i%10==0)
{
printf ("\n");
fprintf(fp,"\n");
}
}
fclose(fp);
}
选项
答案
void Josegh (void) { int i,j,k,sl,w; s1=s; for (i=1 ;i<=n;i++) /*给n个人从1到n编号*/ p[i-1]=i; for (i=n;i>=2; i--) { s1=(s1+m-1) %i; /*下一个开始报数的人的编号是(s1+m-1)%i*/ if (s1==0> /*若s1为0,则说明要开始报数的是最后一个人*/ s1=i; w=p [s1-1]; /*将要出圈的人移至数组的最后*/ for (j=s1; j<=i-1; j++) p[j-1]=p[j]; p[i-1]=w; } }
解析
本题考查的知识点如下:
(1)将数组建成环。
(2)运算符“%”的使用。
(3)循环的嵌套使用。
此题是著名的“约瑟夫环”问题。首先要将每个人的编号存入数组。因为每次是从s1开始报数,若是直线队则下一个开始报数的人的编号是s1+m-1,但这里要建立一个环,即最后一个人报完数后第一个人接着报数。所以这时下一个开始报数的人的编号是(s1l+m-1)%i,i是此时圈中的总人数。若所得的结果为0,则说明要开始报数的是最后一个人。在此人前面的那个人就是要出圈的人,使用循环将要出圈的人移至数组的最后。开始时,总人数为n,以后依次减1,直到最后一个人出圈。
转载请注明原文地址:https://kaotiyun.com/show/EGfZ777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
管理子系统应由交接间的配线设备、输入/输出设备等组成。
数字用户线xDSL又被称为()。
环形结构是目前()网的主要拓扑结构。
()由通信控制处理机、通信线路与其他通信设备组成。
()缓存主要用于存储控制器、存储器、缓存检索表数据。
()是保障网络系统安全、可靠与正常运行所必需的基本设施与设备条件。
下列选项中,有关协议标记交换MPLS的叙述正确的是()。
下列选项中,关于静态路由表的叙述不正确的是()。
阅读以下说明,回答问题1~5。说明:利用VLAN技术可以把物理上连接的网络从逻辑上划分为多个不同的虚拟子网,可以对各个子网实施不同的管理策略。图13-4表示两个交换机相连,把6台计算机配置成两个VLAN。1.双绞线可以制作成直连线和交叉线两种形式,在
下面关于内部网络地址规划的说法中,错误的是______。
随机试题
如果染毒文件有未被染毒的备份的话,用备份覆盖染毒文件即可,这种病毒清除方式适用于
速动比率的计算公式为:()
高大模板工程中()需要进行专家论证审查。
为了评价和考核实际成本,弹性预算还必须根据各项成本同业务量的不同关系,采用不同方法确定“实际业务量的预算成本”。()
阅读下面材料,回答问题。洗澡王安忆行李房前的马路上没有一棵树,
LastweekendKyleMacDonaldinMontrealthrewapartytocelebratethefactthathegothisnewhomeinexchangeforaredpaper
在7位ASCII编码的最高位增加一位奇校验位就构成8位奇校验编码。若大写字母K的十六进制奇校验编码为CBH,则大写字母E的十六进制奇校验编码为【 】。
Inthecanonicalwritingoftheculturalessentialists,languagehasaverycloseandintimaterelationshipwithculture,
1Thethreeenergy-yieldingfoodnutrientsarecarbohydrates,proteins,andfats.Theamountofenergyafoodprovidesdependso
PASSAGEONEWhatdoes"Thelatter"inPara.4referto?
最新回复
(
0
)