我是靠谱客的博主 精明金鱼,这篇文章主要介绍C++入门教程(4)猜数字游戏(rand),现在分享给大家,希望可以做个参考。

上节说到一个猜数字的游戏,我们首先分析下这个小游戏的流程

1.首先系统产生一个需要猜的数字N(1<N<100)

2.输入一个数字,系统给出是大了还是小了,进一步判断数字的范围

3.重复输入数字,直到猜中数字

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream> using namespace std; int main(int argc, const char * argv[]) { // insert code here... //std::cout << "Hello, World!n"; //rand() 可以产生一个随机数 %取余 即可得到一个0-100的随机数 int number = rand() %100 ; //input 用于获取玩家输入的数字 int input = 0; //maxNum 用于保存当前能判断的最大值 int maxNum = 100; //minNum 用于保存当前能判断的最小值 int minNum = 1; cout << "请输入数字(1-100):"; while(input != number) { cin >> input; if(input > number) { if (input < maxNum) { maxNum = input; } cout << "大了,请输入数字("<< minNum << "-"<< maxNum << ") n" ; } else if(input < number) { if (input > minNum) { minNum = input; } cout << "小了,请输入数字("<< minNum << "-"<< maxNum << ") n" ; } else{ cout << "恭喜你,猜对了,数字是:" << number <<endl; } } return 0; }

        运行,不断根据提示最终我们得到了最终的答案,7

复制代码
1
2
3
4
5
6
7
8
9
10
11
请输入数字(1-100):50 大了,请输入数字(1-50) 25 大了,请输入数字(1-25) 12 大了,请输入数字(1-12) 6 小了,请输入数字(6-12) 7 恭喜你,猜对了,数字是:7 Program ended with exit code: 0

        真好玩,再玩一次,等一下。。。嗯? 怎么。还是7

        不是说好了随机产生一个值么?!为什么一直是7?

        其实rand()是伪随机,每次产生包括下一次产生的数都是固定的,我们连续输出10次

复制代码
1
2
3
4
for(int i = 0; i< 10 ;i++) { cout<< rand()%100<< " "; }

        这个结果永远都是

复制代码
1
7 49 73 58 30 72 44 78 23 9

这个时候,需要引入一个随机的种子,这个种子可以是任意值,通常采用时间,我们修改一下代码,让每次产生的随机值都不同

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream> #include <time.h> using namespace std; int main(int argc, const char * argv[]) { // insert code here... //std::cout << "Hello, World!n"; //如果随机种子是固定的值 则每次运行的结果还是一样的 //srand(12); //随机种子为当前时间 srand(time(NULL)); // //测试随机产生10个随机数 // for(int i = 0; i< 10 ;i++) // { // cout<< rand()%100<< " "; // } //rand() 可以产生一个随机数 %取余 即可得到一个0-100的随机数 int number = rand() %100 ; //猜之前查看是否每次都是随机的 //cout << number ; //input 用于获取玩家输入的数字 int input = 0; //maxNum 用于保存当前能判断的最大值 int maxNum = 100; //minNum 用于保存当前能判断的最小值 int minNum = 1; cout << "请输入数字(1-100):"; while(input != number) { cin >> input; if(input > number) { if (input < maxNum) { maxNum = input; } cout << "大了,请输入数字("<< minNum << "-"<< maxNum << ") n" ; } else if(input < number) { if (input > minNum) { minNum = input; } cout << "小了,请输入数字("<< minNum << "-"<< maxNum << ") n" ; } else{ cout << "恭喜你,猜对了,数字是:" << number <<endl; } } return 0; }

最后

以上就是精明金鱼最近收集整理的关于C++入门教程(4)猜数字游戏(rand)的全部内容,更多相关C++入门教程(4)猜数字游戏(rand)内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部