赞
踩
#include <stdio.h> int main(){ int i,k,m,n,num[50],*p; printf("几个人围成一圈?"); scanf("%d",&n); p=num; for(i=0;i<n;i++) *(p+i)=i+1; //以1至n为序给每个人编号 i=0; //i为每次循环时计数变量 k=0; //k为按1,2,3报数时的计数变量 m=0; //m为退出人数 while(m<n-1){ if(*(p+i)!=0) //当退出人数比n-1少(即未退出人数大于1时)执行循环体 k++; if(k==3){ *(p+i)=0; //对退出的人的编号置为0 k=0; m++; } i++; if(i==n) i=0; //报数到尾后,i恢复为0 } while(*p==0) p++; printf("最后留下原来的第%d号",*p); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。