猜数字

我想做一个猜数字的小游戏,范围是1-100,那么首先我们需要出现一个随机数,于是我使用rand函数,定义一个整型其初值为rand()%100+1(因为是1-100,所以需要在取模于100时+1,否则游戏内不会出现这个数)。但在运行的时候我发现了问题,为何每一次随机出来的数都完全一致呢?通过上网搜索,我才知道每一次rand函数运行都会查询是否使用过srand函数,若之前没有调用srand(seed),那么系统会自动给seed赋初始值,即srand(1)。于是我使用了cmath头文件,用当前时间来给随机值赋值。

#include<cmath>
srand((unsigned int)time(NULL));
int num = rand() % 100 + 1;

接下来就要到猜数字环节了,先创建一个变量为玩家输入的数,玩家输入的数如果大于随机数,那么就应该提示“猜测过大”;如果输入的数小于随机数,那么就应该提示“猜测过小”,每次提示过后重新输入数字。这个过程中不应该退出游戏,所以我使用while(1)这个死循环,如果答对了,那么就可以提示玩家“恭喜您猜对了”,并用break退出循环。如此一来,我们的猜数字小游戏就完成了。

#include<iostream>
#include<ctime>
using namespace std;

int main(){

    cout << "请在一到一百的整数中猜数字" << endl;

    srand((unsigned int)time(NULL));

    int num = rand() % 100 + 1;

    int val = 0;

    while (1)
    {
        cin >> val;
        if(val >num)
        {
            cout << "猜测过大" << endl;
        }
        else if(val < num)
        {
            cout << "猜测过小" << endl;
        }
        else
        {
            cout << "恭喜您猜对了" << endl;
            break;
        }
    }




    system("pause");

    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务