NOIP基础算法(C++)-模拟算法例题2-猜数字
作者:野牛程序员:2023-07-03 17:26:43题目阅读 2795
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