首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设有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
46
问题
设有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全国计算机三级
相关试题推荐
计算机病毒具有破坏性、隐蔽性、______、潜伏性和激发性等主要特点。
在现行PC机中,I/O端口常用的地址范围是( )。
下面关于IEEE-1394的叙述中,错误的是( )。
Windows98提供的WindowsMediaPlayer是一个功能强大的多媒体播放软件,可以从Microsoft有关网站不断升级。该软件目前不能播放下列哪种类型的音视频文件?
在数据传输方式中,DMA方式与中断方式相比,主要优点是______。
计算机使用的图像格式有很多种,但目前在Web网页中使用的图像文件主要有两种,它们是
个人计算机属于()。
嵌入式系统使用的存储器有多种类型,按照其存取特性可分为随机存取存储器和只读存储器,它们通常都用三个大写英文字母表示,即__________【57】和__________【58】。
在Bootloader的stagel中,以下各步骤的顺序应为()。a.跳转到stage2的C程序入口点b.为加载stage2准备RAM空间c.拷贝stage2的执行代码到RAM空间中d.基本硬件初始化
实时操作系统(RTOS)有3个主要的实时指标,除响应时间和生存时间之外,另一个指标是在给定时间内可以处理的事件总数,它称为【67】_______,其英文名称是【68】_______。
随机试题
面横裂是由于A.一侧上颌突未能与内侧鼻突融合B.上颌突与外侧鼻突未融合C.上颌突与下颌突未融合D.原发腭突未能在一侧与继发腭突融合E.原发腭突未能在两侧与继发腭突融合
在设计与施工的接口关系中,应对( )内容的接口进度实施重点控制。
( )不必在会计报表附注中披露。
“一把钥匙开一把锁”,是说明教师劳动具有()
公安工作的内容由法律和( )所确定,必须按照党的政策和国家法律来实施。
人民检察院对公安机关及其人民警察在侦查活动中贪污、挪用、调换所扣押、冻结的款物及其利息的,要及时发现并纠正,依法实施监督。()
Anotherweek,anothercropofbadnewsfromthetelecomsindustry.BernieEbbers,thechiefexecutiveofWorldCom,hasbeenforc
按结构化设计的思想编制应用程序时,最重要的是_______。
Whatcanweconcludefromthetalk?
Englandisjustlyproudof______greatpoets,especially______inthe18thcentury.
最新回复
(
0
)