首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设有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-19
37
问题
设有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,s1,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,但这里要建立一个环,即最后一个人报完数后第一个人接着报数。所以这时下一个开始报数的人的编号是(s1+m-1)%i,i是此时圈中的总人数。若所得的结果为0,则说明要开始报数的是最后一个人。在此人前面的那个人就是要出圈的人,使用循环将要出圈的人移至数组的最后。开始时,总人数为n,以后依次减1,直到最后一个人出圈。
转载请注明原文地址:https://kaotiyun.com/show/yZcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
下面关于闪存盘(也称为优盘)的叙述中,错误的是
Windows98操作系统中引入线程概念后,可以提高进程内程序执行的并发性。在下列有关Windows98线程的叙述中,错误的是______。 Ⅰ) 线程也称为“轻量级进程”,它表示进程中的一个控制点和一条执行途径 Ⅱ) Win32应用程序通
用户要将一台计算机作为打印机服务器使用,需要安装( )。 ①Netware目录服务 ②Microsoft网络上的文件与打印机共享 ③Netware网络上的文件与打印机共享
下面一段程序要实现的功能是:在内存中从地址SOURCE开始有一个长度为50的字符串,测试该字符串中是否存在数字,如有则将DL的第三位置1,否则将该位置0。 BEGIN: MOV CX,50 MOV S
计算机合成语音就是让计算机模仿人把一段文字朗读出来,这个过程称为文语转换,其英文缩写是
有一种与设备无关的图像格式,在所有Windows环境下运行的所有图像处理软件都支持的图像文件格式是【 】。
IP协议在计算机网络的互连中起着非常重要的作用。目前广泛使用的IP协议的版本是第【45】_______版,每个IP地址用【46】_______位二进制表示。
按照嵌入式系统的技术复杂程度进行分类,可以把嵌入式系统分为低端系统、中端系统和高端系统三大类。下面关于低端嵌入式系统特性的叙述中错误的是()。
为提高SoC芯片设计效率,减少重复开发,通常将合格的经过验证的IC设计文件存储在数据库中,供反复使用。这些IC电路具有固定的不可再分解的功能特性,并受到知识产权保护,人们称之为“知识产权核”或“IP核”。按照IC设计文件的类型,IP核通常分为三种【41】、
实时操作系统(RTOS)有3个主要的实时指标,除响应时间和生存时间之外,另一个指标是在给定时间内可以处理的事件总数,它称为【67】_______,其英文名称是【68】_______。
随机试题
按照防火墙保护网络使用方法的不同,防火墙可分为应用层防火墙和_____。
休克时细胞最易损伤的部位是________,主要改变为________。
心肌梗死后综合征
斜坡上的岩土沿坡内一定的软弱面(或带)作整体地向前向下移动的现象称为()。
某建设项目有甲、乙、丙三个实施方案,有关资料见下表,当总成本由大到小的排序是乙、甲、丙时,年产量区间是( )。
职业健康安全与环境管理体系文件的特点不包括( )。
《劳动合同法》的立法宗旨是:完善劳动合同制度,明确劳动合同双方当事人的权利和义务,保护()的合法权益,构建和发展和谐稳定的劳动关系。
我没有摘花的习惯。我只是伫立凝望,觉得这一条紫藤萝瀑布不只在我眼前,也在我心上缓缓流过。流着流着,它带走了这些时候一直压在我心上的焦虑和悲痛,那是关于生死谜、手足情的。我浸在这繁密的花朵的光辉中,别的一切暂时都不存在,有的只是精神的宁静和生的喜悦。
请从所给的四个选项中,选择最合适的一个填入,使之呈现一定的规律性()
SomecallittheSmartShooter,anewrifleforAmericaninfantrytroopsthatistwoweaponsinone,isaccurateupto1,000yar
最新回复
(
0
)