随机产生参加的人数,起点以及退出圈外的抱点书,
从产生的起点开始报数报到退出圈外的报点数时停止,下一个再从1开始报数。
#include
using namespace std;
#include//随时间产生数的头文件
int main()
{
srand((unsigned int)time(NULL));
int num = rand() % 12 + 1;//随机生成1到12的数,即有多少只猴子
cout << "猴子数" << num << endl;
int num1 = rand() % num + 1;//从第num1只猴子开始报数
cout << "从第" << num1 << "报数" << endl;
int num2 = rand() % 3 + 1;//报到num2的猴子时退出
cout << "报到" << num2 << "退出" << endl;
int i , a[101];
for (i = 1; i < num; i = i + 1)
{
a[i] = 1;//1是还在圈内,0表示已经退出
}
int b = 0;
int c = num;
while (c > 1)
{
b = num1 + 1;
if (b > num)
{
b = 1;
}
if (a[b] == 1)
{
int s = 0;
s++;
if (s == num2)
{
a[b] = 0;
c--;
s = 0;
}
}
}
for (i = 1; i < num; i++)
{
if (a[i] == 1)
{
cout << "猴王是:" << i << endl;
}
}
system("pause");
return 0;
}
运行结果显示不出来哪一个是猴王
https://blog.csdn.net/bbb13012998298/article/details/78801373