习题3.3投骰子的随机游戏
/*
题目:每个骰子有六面,点数分别为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投骰子的随机游戏相关推荐
- C++产生随机数的例题:投骰子的随机游戏
用例题来理解 功能分块 一.rollDice()函数:负责模拟投骰子,计算和数并输出和数 二.rand()函数:求出并返回一个伪随机数. 伪随机数:你可以写一个循环,每次调用rand函数产生一个随机数 ...
- 1.投骰子的随机游戏
- C++投骰子的随机游戏
#include <iostream> #include <cstdlib> using namespace std; int RollDice() {int die1 = 1 ...
- 投骰子游戏(C++)
每个骰子有六面,点数分别为1.2.3.4.5.6 游戏者在程序开始时输入一个无符号整数,作为产生随机数的种子 每轮投两次骰子,第一轮如果和数为7或11则为胜,游戏结束; 和数为2.3或12则为负,游戏 ...
- Python投骰子小游戏
今天我们用Python来实现一个投骰子小游戏,这个小游戏比之前写的要复杂一点点,不过大家不用担心,只要大家掌握了基本的语句就可以写出来了 游戏具体内容如下: #投骰子 #玩两个骰子 : 1-6 #1. ...
- 抱歉,Xposed真的可以为所欲为——4.猜拳投骰子你能赢算我输
抱歉,Xposed真的可以为所欲为--4.猜拳投骰子你能赢算我输 标签: 2018 一句话概括本文 人品大法利用Xposed Hook掉微信猜拳和投骰子,让你无需再担忧拿外卖和搞卫生. 引言 关于这节 ...
- 抱歉,Xposed真的可以为所欲为——4.猜拳投骰子你能赢算我输(转载)
一句话概括本文 人品大法利用Xposed Hook掉微信猜拳和投骰子,让你无需再担忧拿外卖和搞卫生. 引言 关于这节,我是看代码看到头皮发麻,逆向APP并没有想想中的简单, 特别是微信这种,要投入的学 ...
- Java类的编写实例(一 )SnakeEyes 投骰子中出现蛇眼(双幺)的次数 如何创建新的类和成员
初学者编写一个只包含main方法的单一类,是一个很小但是完整的程序.这样的程序通常使用Java类库中预定义的类来实例化对象,然后使用这些对象提供的服务.尝试编写新的程序,用到的类不完全是Java类库中 ...
- python投掷骰子实验实验结论_博饼伤我心我,决定用Python对投骰子(色子)做数据分析...
pygal 是非常不错的 python 可视化包,它可以生成矢量图,从而在不同尺寸的屏幕上都可以获得良好的显示效果.具体安装使用请参考官方文档.今天小狼举个投骰子的栗子,看一下不同点数的概率分布情况. ...
最新文章
- win7 64安装oracle10g 客户端,关于win7 64位 只 安装 oracle 10g的client
- 福利 |《非结构化数据分析》书评:探索非结构化数据的魅力
- 记录一下水下相机标定
- iOS Mac JSON To Model
- OpenGL学习笔记-坐标系统
- MySQL length函数使用详解
- Streams API
- [译]发布ABP v0.19包含Angular UI选项
- java equals和==以及hashmap原理和区别
- redis 学习笔记三
- linux c 调用 java_Java如何调用C代码–(Linux下实现Java本地方法) | 学步园
- 微信小程序-Image 图片实现宽度100%,高度自适应
- 调整单元格宽度无法生效的问题
- 关于如何用python下载文件
- 免费下载高清可商用的图片网站(整理集合)
- HTML5网页设计基础——LOGO的制作
- Mac(3) Parallels Desktop 安装 Windows10专业版
- 计算机图形学直线线型实验报告,计算机图形学实验报告-直线中点bresenham算法的实现资料.doc...
- 湍流参数计算c语言,常用的湍流模型
- seo关键字_SEO最佳关键字研究技术