c++编写“猜数字游戏,要求:该游戏可以由程序随机产生一个 N 位数字,或者用户输入一个 N 位数字,作为待猜测数字,玩游戏者开始猜测后,可以有 M 次机会输入数字来匹配上面的待猜测数字,用户每输入一次,系统给出本次猜测结果:A 表示位置正确且狮数字正确;B 表示数字正确而位置不正确。某次猜中后,游戏结束,若 M 次机会用完,游戏也结束”的程序
时间: 2024-03-09 18:49:33 浏览: 113
猜数字游戏课程设计
好的,我来为您编写一个猜数字游戏的C++程序:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cstring>
using namespace std;
const int MAXN = 20;
int main() {
srand(time(NULL));
int n, m;
char target[MAXN], guess[MAXN];
cout << "请输入待猜数字的位数:";
cin >> n;
cout << "请输入您想要的猜测次数:";
cin >> m;
cout << "请选择模式:\n1. 让程序随机生成数字\n2. 由用户输入数字" << endl;
int mode;
cin >> mode;
if (mode == 1) {
for (int i = 0; i < n; i++) {
target[i] = rand() % 10 + '0';
}
cout << "随机生成的数字是:" << target << endl;
} else if (mode == 2) {
cout << "请输入待猜数字:";
cin >> target;
} else {
cout << "无效的选择!" << endl;
return 0;
}
for (int i = 0; i < m; i++) {
cout << "请输入您猜测的数字:";
cin >> guess;
int A = 0, B = 0;
for (int j = 0; j < n; j++) {
if (guess[j] == target[j]) {
A++;
} else {
for (int k = 0; k < n; k++) {
if (guess[j] == target[k] && j != k) {
B++;
break;
}
}
}
}
cout << "本次猜测结果:" << A << "A" << B << "B" << endl;
if (A == n) {
cout << "恭喜您猜对了!" << endl;
return 0;
}
}
cout << "很遗憾,猜测次数用尽了,游戏结束!" << endl;
return 0;
}
```
这个程序可以通过用户的选择,随机生成一个 N 位数字,或者由用户输入一个 N 位数字,然后用户可以有 M 次机会输入数字来匹配上面的待猜测数字,每输入一次,系统给出本次猜测结果:A 表示位置正确且狮数字正确;B 表示数字正确而位置不正确。某次猜中后,游戏结束,若 M 次机会用完,游戏也结束。
阅读全文