猴子选大王,为什么输出不了结果

随机产生参加的人数,起点以及退出圈外的抱点书,
从产生的起点开始报数报到退出圈外的报点数时停止,下一个再从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