早教吧 育儿知识 作业答案 考试题库 百科 知识分享

7.题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到5报数),凡报到5的人退出圈子,问最后留

题目详情
7. 题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到5报数),凡报到5的人退出圈子,问最后留
▼优质解答
答案和解析
#include
#define MAX 500
main()
{
int i,k,m,n,people[MAX],*p;

printf("please input the number of people:");
scanf("%d",&n);
p=people;
for(i=0;i *(p+i)=i+1;

i=0;
k=0;
m=0;

while(m {
if(*(p+i)!=0)
k++;
if(k==5)
{
*(p+i)=0;
k=0;
m++;
}
i++;
if(i==n)
i=0;
}
while(*p==0)
p++;
printf("The people whose number is %d is left\n",*p);
}