欢迎光临
我们一直在努力

C语言程序设计第四版(何钦铭、颜晖)第八章指针之报数

4. 报数:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(m<n)的人退出圈子,下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。输入整数n和m,并按退出顺序输出退出圈子的人的编号。试编写相应程序。

#include<stdio.h>
#define MAXN 10
int main(){
int a[MAXN],count,i,restnum,m,n;
count=0;
scanf("%d%d",&m,&n);
restnum=n;
for(i=0;i<n;i++){
a[i]=i+1;
}
while(restnum>1){
i=0;
while(i<n){
if(a[i]!=0){
count++;
if(count==m){
printf("%d ",a[i]);
a[i]=0;
restnum–;
count=0;
}

}
i++;
}
}
return 0;
}

输入样例:3 10

输出结果:3 6 9 2 7 1 8 5 10 

赞(0)
未经允许不得转载:171主机测评 » C语言程序设计第四版(何钦铭、颜晖)第八章指针之报数
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址