要求只使用数组不使用结构体
时间: 2023-09-17 12:12:49 浏览: 40
好的,下面是只使用数组不使用结构体的代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
const int MAXN = 100; // 最大孩子数量
int josephus(int n, int k) {
int id[MAXN];
string name[MAXN];
for (int i = 0; i < n; i++) {
id[i] = i + 1; // 给每个孩子编号
cout << "请输入第" << i + 1 << "个孩子的名字:";
cin >> name[i]; // 输入每个孩子的名字
}
int cur = 0;
while (n > 1) {
cur = (cur + k - 1) % n;
cout << name[cur] << "被淘汰了!" << endl;
for (int i = cur; i < n - 1; i++) {
id[i] = id[i + 1]; // 删除当前位置的孩子
name[i] = name[i + 1];
}
n--;
}
cout << name[0] << "获胜了!" << endl;
return id[0];
}
int main() {
int n, k;
cout << "请输入孩子的数量和每次报数的数字:";
cin >> n >> k;
int winner = josephus(n, k);
cout << "胜利者的编号是:" << winner << endl;
return 0;
}
```
运行结果与之前相同,只是使用了数组来存储孩子的编号和名字。注意数组的大小需要预先定义,这里定义了一个常量`MAXN`,可以根据需要进行修改。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)