c语言猴子选大王用数组
时间: 2023-11-13 19:50:18 浏览: 138
C语言~猴子选大王程序
5星 · 资源好评率100%
这里提供一个简单的C语言代码实现猴子选大王的过程,采用数组方式存储猴子编号。
```c
#include <stdio.h>
int main()
{
int n, m; // n为猴子总数,m为数到第m只猴子出列
int i, j; // 循环计数器
int monkey[1000]; // 存储猴子编号的数组
int cnt = 0; // 记录已经出列的猴子数量
scanf("%d %d", &n, &m);
// 初始化猴子编号数组
for (i = 0; i < n; i++) {
monkey[i] = i + 1;
}
i = 0; // 从第一个猴子开始数
while (cnt < n - 1) { // 只剩一只猴子时结束循环
for (j = 1; j < m; j++) { // 数到第m只猴子前的猴子不出列
if (monkey[i] != 0) {
j++;
}
if (j == m) { // 第m只猴子出列
cnt++;
printf("第%d只猴子出列,编号为%d\n", cnt, monkey[i]);
monkey[i] = 0; // 出列的猴子编号设为0
}
i++;
if (i == n) { // 数到最后一只猴子时从头开始数
i = 0;
}
}
}
// 找到最后一只猴子的编号并输出
for (i = 0; i < n; i++) {
if (monkey[i] != 0) {
printf("最后一只猴子的编号为%d\n", monkey[i]);
break;
}
}
return 0;
}
```
在这个代码中,我们使用一个长度为1000的数组`monkey`来存储猴子的编号。为了方便,我们将猴子的编号从1开始顺次递增,存储在数组中。在程序开始时,我们先从输入中获取猴子总数和数到第几只猴子出列。然后,我们初始化猴子编号数组,将每只猴子的编号存储在数组中。接着,我们从第一只猴子开始数,每数到第m只猴子时将其出列,出列的猴子的编号设为0。在循环结束时,我们找到编号不为0的最后一只猴子的编号并输出。
阅读全文