#include<stdio.h>
void main()
{
char players[20][10];
int M,S,i,j,num;
int a[20];
printf("请输入参加出圈游戏人员名单:\n");
for(i=0;i<20;i++)
{
printf("第%d位:",i+1);
scanf("%s",players[i]);
if(players[i][0]=='!')break;
}
num=i;//参加游戏的人数
printf("请输入出圈数字:");
scanf("%d",&M);
printf("请输入起始位置:");
scanf("%d",&S);
printf("共有%d人参加游戏, 出圈数字是%d, 起始位置:%d(%s)\n",num,M,S,players[S-1]); for(i=0;i<num;i++)
a[i]=i+1;
printf("\n开始游戏...\n");
int k=1; //重这里开始就看不懂!!请各位帮帮忙解释一下是如何实现的
i=S-2 ;
while(1)
{
if(k>num)break;
for(j=0;j<M;)
{
i=(i+1)%num;
if(a[i]!=0)
j++;
}
printf("%s出圈!\n",players[i]);
a[i]=0;
k++;
}
printf("\n姓名为%s的小孩是胜利者!\n",players[i]);
}
各位看看(出圈游戏)的代码