猴子选大王c++语言 用while循环
时间: 2024-10-28 14:07:02 浏览: 33
猴子选大王是一种经典的排序算法,也可以通过C++的while循环实现。通常它模拟了一群猴子选举“大王”的过程,它们依次从剩余的候选人中随机选择一个作为新候选,直到只剩下一个人为止,这个人就是“大王”。下面是一个简单的C++程序,使用while循环实现这个场景:
```cpp
#include <iostream>
#include <cstdlib> // 需要用到random库
int main() {
int monkeys = 5; // 假设有5只猴子
int candidates[monkeys] = {1, 2, 3, 4, 5}; // 假设初始候选人
int currentMonkey = 0;
while (monkeys > 1) {
std::cout << "第" << currentMonkey+1 << "轮,猴子选了:" << candidates[currentMonkey] << "\n";
// 模拟随机选择下一个候选人
candidates[currentMonkey] = rand() % (monkeys - 1) + 1; // 1到当前猴子数减一
monkeys--;
currentMonkey++; // 轮流选举
}
std::cout << "最终的大王是:" << candidates[0] << "\n";
return 0;
}
```
在这个程序中,`while`循环会一直持续,直到只剩下最后一只猴子。每轮选举都会更新候选人的位置,并减少猴子的数量。当只剩最后一只猴子时,它就是大王。
阅读全文