(用指针做)有n个人围成一圈,顺序排好,从第一个人开始报数(从1到3报数),凡提到的3的退出圈子,问最后留下的是原来的第几号的那位:
(用指针做)有n个人围成一圈,顺序排好,从第一个人开始报数(从1到3报数),凡提到的3的退出圈子,问最后留下的是原来的第几号的那位:大神指导
程序代码:
#include<stdio.h> int main(void) { int i,n,*p,num,count=0; int a[100]={0}; p=a; scanf("%d",&n); num=n; while(num!=1) { for(i=0;i<n;++i) { if(*(p+i)==0) count++; if(count==3) { num--; count=0; *(p+i)=1; } } } for(i=0;i<n;++i) if(*(p+i)==0) printf("剩下第%d位\n",i+1); return 0; }