参考谭浩强先生的c程序设计思路
#include <stdio.h>
int main()
{
int i,k,m,n,num[50],*p;
printf("the number of person? n=");
scanf("%d",&n);
p=num;
for(i=0;i<n;i++)
*(p+i)=i+1; //从1开始给每个人一个指针编号
i=0; //i为每次循环的计数变量
k=0; //k为按12345报数的计数变量
m=0; //m为退出人数
while(m<n-1) //在退出人数比n-1小时进入循环
{
if (*(p+i)!=0) k++;
if (k==5)
{
*(p+i)=0; //将退出的人编号置为0
k=0;
m++;
}
i++;
if(i==n) i=0; //报数到尾后,i恢复为0
}
while(*p==0) p++;
printf("存活的是第%d个人",*p) ;
return 0;
}