修改后的代码如下:

#include<bits/stdc++.h> using namespace std; int a[1100]; int main() { int i,n,m,f=0,t=0,s=0; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) a[i]=i; // 初始化编号数组 while(f<n){ // 当还有人在圈里时继续游戏 t++; // 报数 if(t>n) t=1; // 如果已经报到最后一个人,则重新从第一个人开始报数 if(a[t]!=0){ // 如果这个人还在圈里 s++; // 记录已报数的人数 if(s==m){ // 如果已报数的人数等于M printf("%d ",a[t]); // 输出这个人的编号 a[t]=0; // 标记这个人已经出圈 s=0; // 已报数的人数清零 f++; // 出圈的人数加1 } } } return 0;

我给你一个源代码帮我改一下:#includebitsstdc++husing namespace std;int a1100;int main	int inmf=0t=0s=0;	scanfdd&n&m;	do	 		N个人围成一圈从第一个人开始报数数到M的人出圈;再由下一个人开始报数数到M的人出圈;…输出依次出圈的人的编号【输入样例】8 5;输出样例:5 2 8 7 1 4 6 3使用c++

原文地址: http://www.cveoy.top/t/topic/fjM0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录