#include<iostream>
using namespace std;
//n个人围成一圈顺序排号。排第三位的人退出,问留下的原来是几号?
int main()
{
int n;
int index; //每个人编号
int step = 0; //报数顺序
int count = 0; //退出人数
int people[80];
int* p = people;
cout << "输入总人数:";
cin >> n;
for (index = 0; index < n; index++)
*(p + index) = index + 1;
index = 0;
while (count < n - 1)
{
if (*(p + index) != 0)
step++;
if (step == 3)
{
*(p + index) = 0;
step = 0;
count++;
}
index++;
if (index == n)
index = 0;
}
while (*p == 0)
p++;
cout << "最后一个人排在第" << *p << "号!" << endl;
return 0;
}
谭浩强c++第三版6-5
最新推荐文章于 2021-09-04 16:52:31 发布