算法思路:利用随机函数来模拟不可预测发生在自然界。(srand() 和 rand()函数生成一个随机数)
#include <iostream> #include <stdlib.h> #include <time.h> using namespace std; int main() { srand(time(NULL)); int count=0; int num = rand()%100 + 1; int guess; cout << "请输入推測的数值:"; cin >> guess; do{ if (guess > num){ count++; cout << "您猜的值大了\n"; cout << "请再次输入推測的数值:"; cin >> guess; }else if (guess < num){ count++; cout << "您猜的值小了\n"; cout << "请再次输入推測的数值:"; cin >> guess; } }while(guess != num); count++; cout << "猜中了!\n"; cout << "共猜了 " << count << " 次\n"; return 0; }
#include<iostream> #include<stdlib.h> #include<time.h> using namespace std; void play(int n); void play(int n) { int i,m=0,t=0; for(i=0; i<n; i++) { t=rand()%6+1; m+=t; cout << "第" << (i+1) << "粒骰子的点数为:" << t <<"\n"; } cout << "总共" << m << "点\n"; } int main() { int people,numbers; do{ srand(time(NULL)); cout << "请输入參与的人数:"; cin >> people; if(people == 0) break; cout << "请输入骰子的数量:"; cin >> numbers; if(numbers == 0) break; for(int i=0; i<people; i++) { cout << "第 " << (i+1) << "位选手掷出的骰子情况为:\n"; play(numbers); } }while(1); return 0; }
C++产生随机数的使用方法
1) 给srand()提供一个种子,它是一个unsigned int类型。
2) 调用rand(),它会依据提供给srand()的种子值返回一个随机数(在0到RAND_MAX之间);
3) 依据须要多次调用rand()。从而不间断地得到新的随机数;
4) 不管什么时候。都能够给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。
产生一定范围随机数的通用表示公式
要取得[a,b)的随机整数,使用(rand() % (b-a))+ a;
要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a;
要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1;
通用公式:a + rand() % n。其中a开始值,n范围是一个整数。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
原文:http://www.cnblogs.com/gcczhongduan/p/4645510.html