猴子选大王c语言问题
时间: 2023-12-21 18:29:36 浏览: 109
以下是一个用C语言实现的猴子选大王的程序:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_N 50
int main() {
int n, m;
int monkey[MAX_N];
int i, j, k;
printf("请输入猴子的数量n和报数的数字m:\n");
scanf("%d%d", &n, &m);
// 初始化猴子状态
for (i = 0; i < n; i++) {
monkey[i] = 1;
}
// 选大王
for (i = 0, j = 0, k = 0; k < n - 1; k++) {
while (monkey[j] == 0) {
j = (j + 1) % n;
}
for (i = 1; i < m; i++) {
do {
j = (j + 1) % n;
} while (monkey[j] == 0);
}
monkey[j] = 0;
}
// 输出当选的猴子
for (i = 0; i < n; i++) {
if (monkey[i] == 1) {
printf("当选的猴子是第%d只\n", i + 1);
break;
}
}
return 0;
}
```
阅读全文