首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设有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
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,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://www.kaotiyun.com/show/yZcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
用户的作业一般可以分为两大类;批量型和【 】。
下面是有关Windows98网络与通信功能的叙述,其中错误的是______。
为了使AX和BX寄存器中的两个16位二进制数具有相同的符号位,下面的程序段中应填写什么指令? PUSH AX __________ TEST AX,8000H JZ SAME XOR BX,8000H SAME:POP
假设(AL)=0FFH,依次执行ADD AL,12和AND AL,0FH指令后,标志位ZF和 SF的状态分别为( )。
一个高性能的微机系统为满足用户希望的编程空间大、存取速度快、成本低等要求,常采用( )、主存、外存三级存储体系。
下面的指令中不是关系运算符的是( )。
响应时间(ResponseTime)是计算机从识别一个外部事件到做出响应的时间。在RTOS运行过程中响应时间是重要指标之一,其具体指标包括:__________【67】延迟时间和__________【68】切换时间。
家庭服务网关是智能家庭中的关键设备,是家庭内部智能设备与外部网络(如因特网)连接的桥梁。现需要设计的家庭服务网关基本功能具体描述如下:a、家庭服务网关具有一个以太网接口(对外连接),一个WiFi通信接口(对内连接),一个RS一485总线接口(对内
地铁进出站闸机的控制器以S3C2410芯片为核心,并外加其他功能电路来进行设计,其基本功能描述如下:a、闸机能够识别本地铁票务系统出售的IC卡。能识别的IC卡有2种,一种是可预付费的“市民卡”,另一种是地铁站内出售的“当次卡”。b、乘客
下面是关于嵌入式系统使用的存储器的叙述:Ⅰ.嵌入式系统使用的存储器按照其存取特性可分为RAM和ROMⅡ.嵌入式系统使用的存储器按照其所处物理位置可分为片内存储器和片外存储器以及外部存储器Ⅲ.嵌入式系统使用的存储器按照存储信息的类型可分为程序存储器和数
随机试题
简述糖尿病的病变特点、运动处方和运动时的注意事项。
下列跑道中属于仪表跑道是()。
标的股票交易被实施特别处理的,交易所自该股票被实施特别处理当日起将其调整出标的证券范围。()
证券投资基金的特征包括()。Ⅰ.集合投资Ⅱ.分散风险Ⅲ.专业理财Ⅳ.分散投资
银行借款筹资的特点包括()。
消除运动性疲劳的方法有()。
2014年末全国共有图书馆3117个,比上年末增加5个。年末全国公共图书馆从业人员56071人。2014年末全国公共图书馆实际使用房屋建筑面积1213.60万平方米,比上年末增长6.3%;图书总藏量79092万册,比上年末增长5.6%;电子图书5067
1Divorceisoneofthosecreations,likefastfoodandliterock,thathavemorepeoplewillingtoindulgeinitthanpeople
Nowcustomhasnotbeencommonlyregardedasasubjectofanygreatimportance.Theinnerworkingsofourownbrainswefeelto
从1999年到2007年,中国人每年有3次长假,五一、十一和春节,每次假期七天,这些假日被称为黄金周。但越是在假期,人们就越忙碌。不得不上班的人们就更忙碌,特别是交通管理部门、旅游和服务行业。回家几乎是长假的另一个任务,尤其是在春节,每个家庭都想团聚。结了
最新回复
(
0
)