xt6-5.cpp
上传用户:liubin
上传日期:2022-06-13
资源大小:85k
文件大小:1k
源码类别:

书籍源码

开发平台:

Visual C++

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4.  {int i,k,m,n,num[50],*p;
  5.   cout<<"input number of person: n=";
  6.   cin>>n;
  7.   p=num;
  8.   for (i=0;i<n;i++)
  9.     *(p+i)=i+1;          // 以1至n为序给每个人编号 
  10.   i=0;                   // i为每次循环时计数变量 
  11.   k=0;                   // k为按1,2,3报数时的计数变量 
  12.   m=0;                   // m为退出人数 
  13.   while (m<n-1)          // 当退出人数比n-1少时(即未退出人数大于1时)执行循环体
  14.   {if (*(p+i)!=0)  k++;
  15.    if (k==3)             // 将退出的人的编号置为0 
  16.      {*(p+i)=0;
  17.       k=0;
  18.       m++;
  19.      }
  20.    i++;
  21.    if (i==n) i=0;        // 报数到尾后,i恢复为0 
  22.    }
  23.   while(*p==0) p++;
  24.   cout<<"The last one is NO."<<*p<<endl;
  25.   return 0;
  26. }
  27.  
  28.