c语言:一个圆圈里有五个孩子,编号为1到5,每个孩子手里拿着一个数,这个数大于零。他们的游戏规则是这样的。
//说明:本人编译成功,本人用数据模拟验证了答案,代码有详细注释。
# include & ltstdio.h & gt
void main()
{
int a[100][5];
int i,j,n;//n表示事例数。
int sum = 0;//数出人数。
int t = 0;//计数器
int k;//数到k就出门。
scanf("%d ",& ampn);
for(I = 0;我& ltn;i++)
for(j = 0;j & lt5;j++)
scanf("%d ",& ampa[I][j]);//输入数据
//流程模拟如下。
for(I = 0;我& ltn;i++){
k = a[I][0];//拿第一个人手里的号。
sum = 0;
t = 0;
for(j = 1;sum & lt4;j++){
if(j % 5 = = 0)j = 0;//控制循环
if (a[i][j]!= 0)t = t+1;//计数
if((t % k = = 0)& amp;& amp(t!=0)) {
k = a[I][j];//拿出局里的人数
a[I][j]= 0;//输出标志
sum = sum+1;//数出人数
t = 0;//计数被清除
}
}
}
//输出结果
for(I = 0;我& ltn;i++)
for(j = 0;j & lt5;j++)
if (a[i][j]!=0) printf("%d\n ",j+1);//输出的是几号赢家?
}