一群猴子,編號是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();}
int main()
//下面的程式有bug,作為反面案例
#include
#define maxsize 8
void king(int m,int n)
{ int p[maxsize];
int i,j,t;
for (i=0; i
資料結構實踐 猴子選大王
本文針對資料結構基礎系列網路課程 2 線性表的實踐專案。專案 猴子選大王 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,直到圈中只剩下最後乙隻猴子,則該猴子為大王。輸入m和n,輸出為大王的猴子是幾號。參考解答...
猴子選大王 陣列版
問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍 坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,最後乙隻出圈的猴子為大王。輸入m和n,輸出猴子離開圈子的順序,從中也可以看出最後為大王是幾號猴子。要求採用陣列作為儲存結構完成。輸入描述 猴子的個數與...
第九周實踐專案1 猴子選大王(陣列版)
問題描述 在乙個陣列中,陣列中用1表示猴子在圈中,用0表示猴子已經出圈,陣列下標對應與猴子編號對應 例如陣列元素p 0 值為1,表示第1只猴子尚在圈中,即p i 代表編號為i 1的猴子是否在圈中 乙隻猴子出圈,則將對應的陣列值置為0 在報數過程中,要跨過值為0的猴子。若m 8,n 4,初始時陣列如下...