问题描述:
分析下面代码回复问题。如何使用逻辑判断语句的3层嵌套来完成猜数字的游戏,要求猜测次数不超过3次?写出给出代码的语法结构。这道题的语法结构,应该是满足猜错的条件,然后进入else再次执行逻辑判断,应该是在else里面进行第2次和第3次的逻辑判断。
代码:
// Created by 黑马程序员.
#include "iostream"
using namespace std;
/*
* 通过cin输入猜想的数字
* 通过if else等逻辑判断语句的嵌套 完成三次机会的猜测
*/
int main()
{
// 1. 提供一个数字,供猜想使用
int num = 5;
// 2. 提供一个变量,记录猜想的数字
int guess_num;
// 3. 通过cin接收输入,输入猜想的数字
cout << "请输入第一次猜想的数字:" << endl;
cin >> guess_num;
// 第一次判断猜想数字是否正确
if (guess_num == num) {
cout << "恭喜你,第一次就猜对了!" << endl;
}else {
cout << "不好意思,你猜错了,请第二次猜测:" << endl;
cin >> guess_num; // 第二次要求用户猜测数字
// 第二次判断猜想是否正确
if (guess_num == num) {
cout << "恭喜你,第二次猜对了!" << endl;
} else {
cout << "不好意思,你第二次猜错了,请第三次猜测:" << endl;
cin >> guess_num; // 第三次要求用户猜测数字
// 第三次判断猜想是否正确
if (guess_num == num) {
cout << "恭喜你,第三次猜对了!" << endl;
} else {
cout << "不好意思,三次机会用完,你都猜错了,我想的是:" << num << endl;
}
}
}
return 0;
}
结果:
D:\CLion_code\cmake-build-debug\CLion_code.exe
请输入第一次猜想的数字:
2
不好意思,你猜错了,请第二次猜测:
3
不好意思,你第二次猜错了,请第三次猜测:
5
恭喜你,第三次猜对了!
Process finished with exit code 0
问题解答:
您想要实现一个猜数字的游戏,要求使用逻辑判断语句的三层嵌套,并在用户猜错时进入 else
语句进行后续的判断。以下是满足您要求的代码以及语法结构的详细分析。
代码实现
// Created by 黑马程序员.
#include "iostream"
using namespace std;
/*
* 通过cin输入猜想的数字
* 通过if else等逻辑判断语句的嵌套 完成三次机会的猜测
*/
int main()
{
// 1. 提供一个数字,供猜想使用
int num = 5;
// 2. 提供一个变量,记录猜想的数字
int guess_num;
// 3. 通过cin接收输入,输入猜想的数字
cout << "请输入第一次猜想的数字:" << endl;
cin >> guess_num;
// 第一次判断猜想数字是否正确
if (guess_num == num) {
cout << "恭喜你,第一次就猜对了!" << endl;
}else {
cout << "不好意思,你猜错了,请第二次猜测:" << endl;
cin >> guess_num; // 第二次要求用户猜测数字
// 第二次判断猜想是否正确
if (guess_num == num) {
cout << "恭喜你,第二次猜对了!" << endl;
} else {
cout << "不好意思,你第二次猜错了,请第三次猜测:" << endl;
cin >> guess_num; // 第三次要求用户猜测数字
// 第三次判断猜想是否正确
if (guess_num == num) {
cout << "恭喜你,第三次猜对了!" << endl;
} else {
cout << "不好意思,三次机会用完,你都猜错了,我想的是:" << num << endl;
}
}
}
return 0;
}
语法结构分析
-
变量声明:
int num = 5;
:这是要猜测的数字。int guess_num;
:这是用户输入的猜测数字。
-
第一次猜测:
cout << "请输入第一次猜想的数字:" << endl;
:提示用户输入猜测的数字。cin >> guess_num;
:接收用户输入。
-
第一次判断:
if (guess_num == num) {...}
:判断用户猜测的数字是否正确。- 如果正确:输出成功消息,程序结束。
- 如果错误:进入
else
逻辑,提示用户继续猜测。
-
第二次猜测:
cout << "不好意思,你猜错了,请第二次猜测:" << endl;
:提示用户输入第二次猜测。cin >> guess_num;
:接收用户输入。
-
第二次判断:
if (guess_num == num) {...}
:判断第二次猜测是否正确。- 如果正确:输出成功消息,程序结束。
- 如果错误:进入
else
逻辑,提示用户进行最后一次猜测。
-
第三次猜测:
cout << "不好意思,你第二次猜错了,请第三次猜测:" << endl;
:提示用户输入第三次猜测。cin >> guess_num;
:接收用户输入。
-
第三次判断:
if (guess_num == num) {...}
:判断第三次猜测是否正确。- 如果正确:输出成功消息,程序结束。
- 如果错误:输出失败消息,显示正确的数字。
运行结果
当用户按顺序输入猜测数字,例如:
2
(第一次猜错)3
(第二次猜错)5
(第三次猜对)
程序输出如下:
D:\CLion_code\cmake-build-debug\CLion_code.exe
请输入第一次猜想的数字:
2
不好意思,你猜错了,请第二次猜测:
3
不好意思,你第二次猜错了,请第三次猜测:
5
恭喜你,第三次猜对了!
Process finished with exit code 0
总结
这个代码实现了一个简单的猜数字游戏,使用了三层嵌套的逻辑判断语句,能够在用户猜错的情况下继续询问并判断,直到三次机会用完。每次输入后,都会根据猜测结果输出相应的消息,清晰明了。