求大神編一段C程式,猴子當大王

時間 2021-10-19 08:56:55

1樓:匿名使用者

用連結串列寫的話比較好,資源佔用少;用陣列的話也行,如下:

#include "stdio.h"

#include

void main(void)

int result(int *p,int n,int limit);

int n=0;//總人數

int m=0;//報數截止號

int *p;

for(;;)

printf("input number of n and m :");

scanf("%d%d",&n,&m);

if (m<=0 || n<=0)

exit(0);

p=(int *)malloc(n*sizeof(int));

printf("the king is no.%d\n",result(p,n,m));

delete  p;

int result(int *p,int n,int limit)

int i=0;

for(i=0;ip[i]=i+1;

i=0;                   // i為每次迴圈時計數變數

int k=0;                   // k為按1,2,3...limit報數時的計數變數

int m=0;                   // m為退出人數

while (mif (p[i]!=0)  k++; //如果編號為0,就不報數;如果編號不為0,報數加1

if (k==limit)             // 將退出的人的編號置為0

p[i]=0;

k=0;//重新開始報數

m++;//退出人數加1

i++;

if (i==n) i=0;        // 報數到尾後,i恢復為0

i=0;

while(p[i]==0) i++;

return p[i];

測試結果:

2樓:

#include

#include

#define n 19 //巨集定義,設定19個猴子#define m 4 //報數最大報到4typedef struct monkey //設計一個猴子的結構體,該結構體用monkey表示

//link表示該結構體的指標

monkey,*link;

void main()

p2->next=head;//這步很重要,這樣連結串列變成迴圈連結串列了,也就是說連結串列到了結

//尾它的下個地址就是連結串列頭瞭如此不停迴圈下去,就是個圓p=head;

printf("對猴子進行編號!\n");

for(i=1;i<=n;i++)

//所有猴子編號結束

i=0;

p=head; //又將p指向了連結串列的頭

while(1)

else //沒有報到m的繼續報數 }

printf("勝出:%d",p->num);}

3樓:匿名使用者

lz你的問題描述有點問題,應該不是從剩餘的一號猴開始,而是接著報,另外倒數第2和倒數第3組測試資料貌似有點問題。

我說過20-可以搞定的, 那就決不會出現21行,呵呵。**如下,在紙上演算一下應該不難懂的。

還有問題再問我,樂意為你解答。

#include

void main()

printf("%d\n", cur+1);}

4樓:匿名使用者

#include

void monkeyking(int n, int m)while(in > 1) }}

}for(i = 0; i < n; i++) //查詢並輸出猴王

if(1 == arr[i])

printf("the king is %d\n", i+1);

}int main(void)

跪求c語言大神幫小弟看一段c程式裡的錯誤!謝謝

關於你要實現的程式的功能並沒有描述的十分清楚,我這就主要從你語法上的錯誤給予更正 include stdio.h 因為你的主函式在你要呼叫 的兩個函式的前面,因此要先宣告函式 int center to left get black int a 主函式中呼叫函式是傳了引數的,需要有形參 int ce...

C中timer控制元件的一段程式

我是這樣 做出來的。控制元件 textbox,button,timer。timer的interval值設為1000.在專案的debug目錄下放置test.txt檔案,內容為1234567890amxjdhflsjdaflkdfisdfwergghh.執行後一秒一變 using system.io p...

求大神,用C寫 使用者輸入一段字串,然後把字串按照ASCII值大小排列,並輸出

namespace test func,int?list sort null sort x,id return r var result sort data,null foreach var item in result 2 3 5 8 4 9 1 7 6 10 public static clas...