NOIP基础算法(C++)-模拟算法例题2-猜数字
作者:野牛程序员:2023-07-03 17:26:43题目阅读 3166
NOIP基础算法(C++)-模拟算法例题2-猜数字
【题目描述】 计算机随机生成一个1-100的整数,用户猜测,每次猜测给出不同的提示. 例如: 输入一个数大于随机数 ,提示: 你猜大了 输入一个数小于随机数, 提示: 你猜小了 输入一个数等于随机数, 提示: 你猜对了
以下是用C++编写的解决方案:
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
srand(time(0)); // 设置随机数种子
int randomNumber = rand() % 100 + 1; // 生成1-100之间的随机数
int guess;
int tries = 0;
std::cout << "欢迎来到金币猜数字游戏!\\n";
std::cout << "计算机已经生成了一个1-100之间的整数,你可以开始猜测了。\\n";
do {
std::cout << "请输入你的猜测:";
std::cin >> guess;
tries++;
if (guess > randomNumber) {
std::cout << "你猜大了!\\n";
} else if (guess < randomNumber) {
std::cout << "你猜小了!\\n";
} else {
std::cout << "恭喜你,你猜对了!\\n";
break;
}
} while (true);
std::cout << "你总共猜了 " << tries << " 次。\\n";
return 0;
}这个程序首先使用srand函数设置随机数种子,然后使用rand函数生成一个1-100之间的随机数作为答案。接下来,程序使用一个循环让用户猜测数字,并根据用户的猜测给出相应的提示,直到用户猜对为止。循环使用do-while结构,因此至少会执行一次。
在每次循环中,程序会提示用户输入猜测的数字,并将用户的猜测与答案进行比较。如果猜测的数字大于答案,程序会输出"你猜大了!",如果猜测的数字小于答案,程序会输出"你猜小了!",如果猜测的数字等于答案,程序会输出"恭喜你,你猜对了!",然后跳出循环。
最后,程序输出用户猜测的总次数,并结束运行。
请注意,这只是一个简单的示例程序,没有添加输入验证和错误处理。在实际开发中,你可能需要添加更多的代码来确保程序的健壮性和用户友好性。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

