农夫过河问题的C++代码
时间: 2024-01-23 12:02:37 浏览: 77
好的,下面是农夫过河问题的C++代码:
```c++
#include <iostream>
using namespace std;
int main() {
int wolf, goat, cabbage;
cout << "请输入狼、羊、菜是否已经过河,已过河为1,未过河为0,用空格隔开:" << endl;
cin >> wolf >> goat >> cabbage;
if (wolf == 1 && goat == 1 && cabbage == 1) {
cout << "恭喜你,完成任务!" << endl;
} else if ((goat == 1 && cabbage == 1) || (goat == 0 && cabbage == 0)) {
cout << "很遗憾,你输了!" << endl;
} else if (wolf == 0 && goat == 0 && cabbage == 0) {
cout << "很遗憾,你输了!" << endl;
} else {
cout << "请输入农夫是否过河,已过河为1,未过河为0:" << endl;
int farmer;
cin >> farmer;
if (farmer == 1) {
if (goat == 1 && wolf == 1) {
cout << "很遗憾,你输了!" << endl;
} else {
if (wolf == 1) {
cout << "狼被农夫带过河了。" << endl;
}
if (goat == 1) {
cout << "羊被农夫带过河了。" << endl;
}
if (cabbage == 1) {
cout << "菜被农夫带过河了。" << endl;
}
cout << "农夫被带过河了。" << endl;
cout << "请问下一步该怎么走?" << endl;
}
} else {
if (goat == 0 && wolf == 0) {
cout << "很遗憾,你输了!" << endl;
} else {
if (wolf == 0) {
cout << "狼被农夫带回来了。" << endl;
}
if (goat == 0) {
cout << "羊被农夫带回来了。" << endl;
}
if (cabbage == 0) {
cout << "菜被农夫带回来了。" << endl;
}
cout << "农夫被带回来了。" << endl;
cout << "请问下一步该怎么走?" << endl;
}
}
}
return 0;
}
```
这是一个简单的控制台程序,运行后会提示用户输入狼、羊、菜是否已经过河的状态(1表示已经过河,0表示未过河),然后提示用户输入农夫是否已经过河的状态。程序根据输入的状态计算出下一步应该怎么走,并提示用户。注意,这个程序只是一个简单的示例,还有很多可以改进的地方。
阅读全文