当前位置:首页题目 > 正文

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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击