数字游戏.程序产生一个四位随机整数,这个四位数各个数码均不相同,你能猜出这个数是多少吗?,规则如下: 1.如果你猜中一位数字但位置不正确,则显示一个- 2.如果你清中一位数字且位置也正确,则显示一个+ 如:假如原数为1689.你猜的数为3694.则显示一 3.你只有十次机会,努力吧少年? 按任意健开始游戏: 用C++实现
时间: 2023-06-18 14:02:10 浏览: 118
以下是C++代码实现:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
srand(time(0)); // 设置随机数种子
int answer = rand() % 9000 + 1000; // 生成四位随机数
int guess, count = 0;
bool guessed = false;
cout << "数字游戏开始!猜一个四位随机整数,每次只有十次机会。\n";
while (count < 10 && !guessed)
{
cout << "请输入你猜的数:";
cin >> guess;
if (guess == answer)
{
guessed = true;
cout << "恭喜你猜中了!\n";
}
else
{
int a[4], b[4];
a[0] = answer / 1000;
a[1] = answer % 1000 / 100;
a[2] = answer % 100 / 10;
a[3] = answer % 10;
b[0] = guess / 1000;
b[1] = guess % 1000 / 100;
b[2] = guess % 100 / 10;
b[3] = guess % 10;
int A = 0, B = 0;
for (int i = 0; i < 4; i++)
{
if (a[i] == b[i])
A++;
else
{
for (int j = 0; j < 4; j++)
{
if (a[i] == b[j])
B++;
}
}
}
cout << A << "A" << B << "B\n";
count++;
}
}
if (!guessed)
cout << "很遗憾,你没有猜中。正确答案是:" << answer << endl;
return 0;
}
```
程序运行时,会生成一个四位随机整数,然后提示用户输入猜测的数字。如果猜中了,程序会提示恭喜用户猜中了,游戏结束;如果没有猜中,程序会根据用户输入的数字给出提示,告诉用户猜对了多少个数字,并且有多少个数字位置正确,然后用户可以继续猜测。如果用户猜测了十次还没有猜中,程序会提示正确答案。
阅读全文