输出结果一直同一个,怎么解决


#include<stdio.h>
#include<stdlib.h>
void main()
{
    int* outflags, num, rnum, fid;
        int done=0,i = 0, countnum = 0;
        printf("Please setting the number of players:\n");
        scanf_s("%d", &num);
        outflags = (int*)calloc(num, sizeof(int));
        while (!done)
        {
            if (!outflags[i])
            {
                countnum++;
                if (countnum == 3)
                {
                    outflags[i] = 1;
                    countnum = 0;
                }
            }
            rnum = 0;
            for ( int j = 0; j < num; j++)
            {
                if (!outflags[j])
                {
                    rnum++;
                    if (rnum == 1)
                        fid = 1;
                }
            }
            if (rnum == 1)
                done = 1;
            else
            {
                i++;
                if (i >= num)
                    i = i - num;
            }
        }
        printf("The final winner is:%d\n", fid + 1);
            system("pause");
}

展开说说你的问题,解决啥的这是

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^