排序报数

来源:互联网 发布:c gui qt 5编程 编辑:程序博客网 时间:2024/06/09 18:55

有n个人围成一圈,顺序排号,从第一个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。 

int main(){int i,k,m,n,num[50],*p;cout<<"请输入总的人数:n=";cin>>n;p = num;for(i=0;i<n;i++)*(p+i)=i+1;i = 0;  //i为每次循环计数变量k = 0;  //k为按1 2 3报数时的计数变量m = 0;  //m为退出人数while (m<n-1){if(*(p+i)!=0) k++;if(k==3){*(p+i) = 0;k=0;m++;}i++;if(i==n) i=0;}while(*p==0)p++;cout<<"最后留下的是NO."<<*p<<endl;return 0;}

0 0