第八周 專案猴子選大王(陣列版)

2021-08-13 10:52:37 字數 882 閱讀 5149

一群猴子,編號是1,2,3 …m,這群猴子(m個)按照1-m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,最後乙隻出圈的猴子為大王。輸入m和n,輸出猴子離開圈子的順序,從中也可以看出最後為大王是幾號猴子。 

要求採用陣列作為儲存結構完成。

在乙個陣列中,陣列中用1表示猴子在圈中,用0表示猴子已經出圈,陣列下標對應與猴子編號對應(例如陣列元素p[0]值為1,表示第1只猴子尚在圈中,即p[i]代表編號為i+1的猴子是否在圈中)。 

乙隻猴子出圈,則將對應的陣列值置為0;在報數過程中,要跨過值為0的猴子。 

若m=8, n=4,初始時陣列如下: 

其中有3只猴子出圈後,陣列中的值如下: 

數到最後乙隻猴子時需要折回到下標為0的位置,猴子出圈後,還將對應元素的值置為0。見**注釋。

#include #define maxsize 8

void king(int m,int n)

printf("\n");

}int main()

//下面的程式有bug,作為反面案例

#include #define maxsize 8

void king(int m,int n)

p[t]=0; //猴子出圈

printf("%d ",t+1); //輸出出圈猴子的編號

t=(t+1)%m; //再報數時,從下乙隻猴子開始

}printf("\n");

}int main()

第八周 2 專案1 猴子選大王(陣列版)

檔名稱 29.cpp 作 者 尚文哲 完成日期 2017年10月25日 問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,最後乙隻出圈的猴子為大王。輸入m和n,輸出猴子離開圈子的順序,從中也可以看出最後...

第八周實踐專案6 猴子選大王(陣列版)

檔名稱 專案6 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,最後乙隻出圈的猴子為大王。輸入m和n,輸出猴子離開圈子的順序,從中也可以看出最後為大王是幾號猴子。作 者 邵雪源 完成日期 2017年12月14日...

第九周專案一 猴子選大王(陣列版)

問題及 all right reserved.檔名稱 猴子選大王 陣列版 cpp 完成日期 2015年10月26日 版本號 v1.0 問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,最後乙隻出圈的猴子...