题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位./*****************************************************
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
#define n 10
int main()
{
int a[n];
int i,quit_num,k;
for(i=0;i<n;i++) //数组赋值
a[i]=i+1;
quit_num = 0; //计数满3退出,数组置0,记录值+1
i=0;//计数值
k=0;//记录123循环的变量
while( quit_num<n-1)
{
if(a[i]!=0) //计数每3个计数循环
k++;
if(k==3) //满足3 数组值置0,退出值+1,记录值123循环变量置0
{
a[i]=0;
quit_num++;
k=0;
}
i++;
if(i==n) //数组从头开始循环
i=0;
}
for (i=0;i<n;i++) //输出
if(a[i]!=0)
printf("%d",a[i]);
return 0;
}
/*****************************************************
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
#define n 10
int main()
{
int a[n];
int i,quit_num,k;
for(i=0;i<n;i++) //数组赋值
a[i]=i+1;
quit_num = 0; //计数满3退出,数组置0,记录值+1
i=0;//计数值
k=0;//记录123循环的变量
while( quit_num<n-1)
{
if(a[i]!=0) //计数每3个计数循环
k++;
if(k==3) //满足3 数组值置0,退出值+1,记录值123循环变量置0
{
a[i]=0;
quit_num++;
k=0;
}
i++;
if(i==n) //数组从头开始循环
i=0;
}
for (i=0;i<n;i++) //输出
if(a[i]!=0)
printf("%d",a[i]);
return 0;
}