/*
题目:每个骰子有六面,点数分别为1,2,3,4,5,6。游戏者在开始输入一个无符号整数,作为产生随机数的种子。
每次投两次骰子,第一轮如果和数为7或11则为胜,游戏结束;和数为2,3或12则为败,游戏结束;和数若为其他数
则将此值作为自己的点数,继续第二轮,第三轮···直至和数等于点数,则取胜,或出现和数为7,则为败
*/
//系统函数int rand(void)的功能是产生一个伪随机数,若连续调用会产生一个序列。每次运行会发现产生的序列都是
//一样的。所以需先调用 void srand(unsigned int seed)为其设置种子(若不设置,会默认为1),产生的随机数就不同了
#include <iostream>
#include<cstdlib>
using namespace std;
//投骰子,计算和数,输出和数
int rollDice()
{int data1=1+rand()%6;//将随机数的范围控制在1~6之间 int data2=1+rand()%6;int sum=data1+data2;cout<<"player rolled"<<data1<<"+"<<data2<<"="<<sum<<endl;return sum;
}
//判断结果
bool result(unsigned int seed)
{int sum=rollDice();int statu;switch(sum){case 7:case 11:cout<<"win"<<endl;break;case 2:case 3:case 12:cout<<"lose"<<endl;break;default:cout<<"continue"<<endl<<"point is"<<sum<<endl; statu=sum;while(1){sum=rollDice();if(statu==sum){cout<<"win"<<endl;break;}else if(sum==7){cout<<"lose"<<endl;break;}cout<<"continue"<<endl;}break;}
}
int main() {unsigned int seed;cout<<"请输入种子"<<endl;cin>>seed;srand(seed);//将种子传递给函数rand() result(seed); return 0;
}

1.随机数的生成

需调用的两个函数为

(1)void srand(unsigned int seed)//seed为种子,若不指定默认为1

将种子传给rand();在函数rand()之前调用

(2)int rand(void)

产生一个伪随机数;如产生一个0~6的随机数 int data1=1+rand()%6;

需包含的的头文件为 #include<cstdlib>

注意

*若每次给予不同的种子,然后连续调用rand便可以产生不同的随机序列。若每次的种子一样,连续调用rand后产生的序列是相同的

例:

//.cpp
//随机数的产生(0~6)
#include <iostream>
#include <cstdlib>
using namespace std;int main() {unsigned int seed;cin>>seed;srand(seed);//将种子传给rand()for(int i=0;i<5;i++){cout<<1+rand()%6<<endl;//将随机数范围控制在0~6}return 0;
}

习题3.3投骰子的随机游戏相关推荐

  1. C++产生随机数的例题:投骰子的随机游戏

    用例题来理解 功能分块 一.rollDice()函数:负责模拟投骰子,计算和数并输出和数 二.rand()函数:求出并返回一个伪随机数. 伪随机数:你可以写一个循环,每次调用rand函数产生一个随机数 ...

  2. 1.投骰子的随机游戏

  3. C++投骰子的随机游戏

    #include <iostream> #include <cstdlib> using namespace std; int RollDice() {int die1 = 1 ...

  4. 投骰子游戏(C++)

    每个骰子有六面,点数分别为1.2.3.4.5.6 游戏者在程序开始时输入一个无符号整数,作为产生随机数的种子 每轮投两次骰子,第一轮如果和数为7或11则为胜,游戏结束; 和数为2.3或12则为负,游戏 ...

  5. Python投骰子小游戏

    今天我们用Python来实现一个投骰子小游戏,这个小游戏比之前写的要复杂一点点,不过大家不用担心,只要大家掌握了基本的语句就可以写出来了 游戏具体内容如下: #投骰子 #玩两个骰子 : 1-6 #1. ...

  6. 抱歉,Xposed真的可以为所欲为——4.猜拳投骰子你能赢算我输

    抱歉,Xposed真的可以为所欲为--4.猜拳投骰子你能赢算我输 标签: 2018 一句话概括本文 人品大法利用Xposed Hook掉微信猜拳和投骰子,让你无需再担忧拿外卖和搞卫生. 引言 关于这节 ...

  7. 抱歉,Xposed真的可以为所欲为——4.猜拳投骰子你能赢算我输(转载)

    一句话概括本文 人品大法利用Xposed Hook掉微信猜拳和投骰子,让你无需再担忧拿外卖和搞卫生. 引言 关于这节,我是看代码看到头皮发麻,逆向APP并没有想想中的简单, 特别是微信这种,要投入的学 ...

  8. Java类的编写实例(一 )SnakeEyes 投骰子中出现蛇眼(双幺)的次数 如何创建新的类和成员

    初学者编写一个只包含main方法的单一类,是一个很小但是完整的程序.这样的程序通常使用Java类库中预定义的类来实例化对象,然后使用这些对象提供的服务.尝试编写新的程序,用到的类不完全是Java类库中 ...

  9. python投掷骰子实验实验结论_博饼伤我心我,决定用Python对投骰子(色子)做数据分析...

    pygal 是非常不错的 python 可视化包,它可以生成矢量图,从而在不同尺寸的屏幕上都可以获得良好的显示效果.具体安装使用请参考官方文档.今天小狼举个投骰子的栗子,看一下不同点数的概率分布情况. ...

最新文章

  1. win7 64安装oracle10g 客户端,关于win7 64位 只 安装 oracle 10g的client
  2. 福利 |《非结构化数据分析》书评:探索非结构化数据的魅力
  3. 记录一下水下相机标定
  4. iOS Mac JSON To Model
  5. OpenGL学习笔记-坐标系统
  6. MySQL length函数使用详解
  7. Streams API
  8. [译]发布ABP v0.19包含Angular UI选项
  9. java equals和==以及hashmap原理和区别
  10. redis 学习笔记三
  11. linux c 调用 java_Java如何调用C代码–(Linux下实现Java本地方法) | 学步园
  12. 微信小程序-Image 图片实现宽度100%,高度自适应
  13. 调整单元格宽度无法生效的问题
  14. 关于如何用python下载文件
  15. 免费下载高清可商用的图片网站(整理集合)
  16. HTML5网页设计基础——LOGO的制作
  17. Mac(3) Parallels Desktop 安装 Windows10专业版
  18. 计算机图形学直线线型实验报告,计算机图形学实验报告-直线中点bresenham算法的实现资料.doc...
  19. 湍流参数计算c语言,常用的湍流模型
  20. seo关键字_SEO最佳关键字研究技术

热门文章

  1. 【精品】居住证、工作居住证、北京户口区别有多大?
  2. TYVJ-P1035 棋盘覆盖
  3. dgl edges_浏览器趋势2016年10月:Microsoft Edges下降
  4. 海外直播运营账号的网络线路,该如何选择?
  5. 在stm32cubemx的freertos中创总任务跑支线任务
  6. 罗永浩微博发声,锤子或再出新一代坚果手机?
  7. ubantu22与windows相互复制粘贴(详细图文)
  8. SQL Server使用SUM(求和)函数
  9. iOS屏幕自动旋转 以及横屏模式打开APP出现的问题
  10. LPC1768 MCUXpresso IDE环境下使用完整64K内存的方法