猜数字
我想做一个猜数字的小游戏,范围是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; }