H2430823005


私信TA

用户名:dotcpp0787131

访问量:53

签 名:

等  级
排  名 10295
经  验 1096
参赛次数 4
文章发表 2
年  龄 0
在职情况 学生
学  校 贺州学院
专  业 数据科学与大数据技术

  自我简介:

TA的其他文章

解题思路:

注意事项:

参考代码:

#include

int main()

{

int arr[201];

int n,i,j;

scanf ("%d",&n);

for (i=0;i<n;i++)    //将输入的数按1到自身的顺序存入数组 

{

arr[i]=i+1;

}

int out=0;           //出局的人数 

int bs=0;            //报数 

while (out!=n-1)     //出局的人剩下一个的时候退出循环 

{

for (j=0;j<n;j++)//遍历数组  

{

if (arr[j]==0)

{

continue; //如果遍历的这个数已经变成0,跳过这个数 

}

bs++;             //每过一个人报数+1 

if(bs==3)         //当报数为3的时候让这次的数变成0 

{

arr[j]=0; 

out++;        //并且出局人数加1 

bs=0;         //重置报数 

}

if (j==n)

{

j=0;

}                 //如果遍历完了从头来过,但报的数不重置 

if (out==n-1)break;//如果剩下最后一个人跳出循环 

}

    }

for (int r=0;r<n;r++)

{

if (arr[r]!=0)

{

printf ("%d",arr[r]);break;

}

}

}


 

0.0分

0 人评分

  评论区

  • «
  • »