C 語言實例 - 約瑟夫生者死者小遊戲
30 個人在一條船上,超載,需要 15 人下船。
於是人們排成一隊,排隊的位置即為他們的編號。
報數,從 1 開始,數到 9 的人下船。
如此迴圈,直到船上僅剩 15 人為止,問都有哪些編號的人下船了呢?
實例
#include<stdio.h>
int c = 0;
int i = 1;
int j = 0;
int a[30] = { 0 };
int b[30] = { 0 };
int main()
{
    while (i<=31)
    {
        if (i == 31)
        {
            i = 1;
        }
        else if (c == 15)
        {
            break;
        }
        else
        {
            if (b[i] != 0)
            {
                i++;
                continue;
            }
            else
            {
                j++;
                if (j != 9)
                {
                    i++;
                    continue;
                }
                else
                {
                    b[i] = 1;
                    a[i] = j;
                    j = 0;
                    printf("第%d號下船了\n", i);
                    i++;
                    c++;
                }
            }
        }
    }
}
執行以上實例,輸出結果為:
第9號下船了 第18號下船了 第27號下船了 第6號下船了 第16號下船了 第26號下船了 第7號下船了 第19號下船了 第30號下船了 第12號下船了 第24號下船了 第8號下船了 第22號下船了 第5號下船了 第23號下船了

 C 語言實例