掷骰子游戏-C语言实现
作者:半点闲
博客:blog.csdn.net/cg_i
邮箱:b_dx@sohu.com
参考书籍:《C和指针》
引子:
大领导的公子就读于美国XXX大学计算机专业,公子多才多艺会吹口琴、玩玉箫、看小人书、占扑星相观人眉宇、风流倜傥、窃玉偷香本想过个几年弄个文凭回国吃皇粮,没曾想外国师傅不懂人情非要布置家庭作业,一时间给公子添优伤,忽想到大洋彼岸老爸有能量,领导得知吩咐喽啰速办此事为公子解忧伤,喽啰手揣上令放眼四周,角落里发现我两眼放光,可叹我苦逼一枚屁也不敢放,看看题目随手写来对不对公子你自己思量...
作业2:
“B. (20 points) Simulated Dice
The casino game Table Crapsis a dice game in which a number of betting options are available depending on
the eventual roll of a pair of dice. Players may bet "for" or"against" certain outcomes in a dizzying array of
combinations with varying odds. Each round of Crapsbegins with an initial roll of the dice (the so-called
'come-out' roll). The player 'wins' on the initial roll if it totals 7 or 11, and 'Craps out'(loses) if the roll is 2, 3
or 12.
Write a simulation program to determine the probability of winning vs. losing on the first roll in the game of
Craps. Your program must include a void function named diceRollthat will use the rand()function to
provide 2 pseudo-random integer values in the range [1..6] representing a single roll of a pair of (independent)
dice.
Your mainprogram must do the following:
• Prompt the user, input an integer seed value and seed the pseudo-random number generator with that
value
• Simulate 10,000 dice rolls using the diceRollfunction and determine the number of 'wins' (7, 11)
and 'losses' (2, 3, 12)
• Display the number of 'wins' and 'losses', and also the resulting probabilities on the terminal display
(note the theoretical probability for 'win' on the first roll is .2222 and for a 'loss' on the first roll is .1111)
Example:
Enter an integer seed value: 1
Number of wins: 2230
Probability of winning: 0.223
Number of losses: 1098
Probability of losing: 0.1098
Enter an integer seed value: 102
Number of wins: 2258
Probability of winning: 0.2258
Number of losses: 1072
Probability of losing: 0.1072
大意是写一个模拟掷骰子的游戏,每次掷两个骰子每个骰子是一个正方体有6面上面标有1、2、3、4、5、6个圆点,当骰子停止时将每个骰子朝上的点数相加,如果所得的和为2、3或12那么游戏者输掉;和为7、11赢;并模拟1000次掷骼子的结果。”
代码(作业要求用C++实现,老子没心情给就给个C的):
#include <STDIO.H>
#include <STDLIB.H>
#define ROLLS 1000
void main()
{
int i = 0;
int numOfDice1;
int numOfDice2;
int sum;
int status = 0;
int numOfWin = 0;
int numOfLose = 0;
unsigned value = 0;
printf("Enter an integer seed value:");
scanf("%u",&value);
srand(value);
for(i = 0; i <= ROLLS; i++){
numOfDice1 = 1 + rand() % 6;
numOfDice2 = 1 + rand() % 6;
sum = numOfDice1 + numOfDice2;
switch(sum){
case 7:
case 11:
status = 1;
numOfWin++;
break;
case 2:
case 3:
case 12:
status = 0;
numOfLose++;
break;
}
}
printf("Number of winns:%d\n",numOfWin);
printf("Probability of winning:%.3f\n",(float)numOfWin / ROLLS);
printf("Number of losses:%d\n",numOfLose);
printf("Probability of losing:%.3f\n",(float)numOfLose / ROLLS);
}
结尾:
事由是郁闷了点。但从学习的角度上,我希望各位大虾能给我上述代码批评及建议,毕竟我E文太差不知道题目是否理解的对,也望各位给出建议。我也好从中学到些东西,知识本身是可贵的,小弟在此拜谢了!
掷骰子游戏-C语言实现相关推荐
- c 语言掷骰子游戏,C 语言编程学习: 制作掷骰子小游戏
C 语言编程学习: 制作掷骰子小游戏 问题描述 骰子是一个有六个面的正方体, 每个面分别印有 16 之间的小圆点代表点数. 假设这个游戏的规则是: 两个人轮流掷骰子 6 次, 并将每次投掷的点数累加起 ...
- R语言简单应用掷骰子游戏
.练习8-1 在掷骰子游戏中,玩家(射手)准备掷出两个骰子,每个骰子都有六个面.如果掷出的总数为2.3或12,则该射手失败.如果总数是7或11,则对手(他)胜出.如果是其他任何得分,那么此得分将变成新 ...
- 掷骰子python代码_通过构建一个简单的掷骰子游戏去学习怎么用 Python 编程
不论是经验丰富的老程序员,还是没有经验的新手,Python 都是一个非常好的编程语言. Image by : opensource.com Python 是一个非常流行的编程语言,它可以用于创建桌面应 ...
- html5游戏 dice掷骰子,使用jQuery实现掷骰子游戏
本文实例为大家共享了jQuery实现掷骰子游戏的详细代码,供大家参考,详细内容如下 直接新版建一个html网页,需要在head中引入jquery,js,一些css代码以及js代码,如下: .wrap{ ...
- java骰子_Java实现的简单掷骰子游戏示例
本文实例讲述了Java实现的简单掷骰子游戏.分享给大家供大家参考,具体如下: 要求: 掷两个骰子,每个骰子有六面, 分别为1.2.3.4.5.6.检查这两个骰子的和. 如果为2.3或12你就输了:如果 ...
- html掷骰子游戏的代码,jquery实现掷骰子小游戏
本篇给大家分享一个很好玩的掷骰子游戏,当点击"掷筛子"按钮时张三和李四两人同时掷出筛子,在各自的文本框中会显示出各自掷出筛子的大小,并且会在第三个文本框中比较出两人点数的大小,并显 ...
- 编写程序模拟掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1、2、3、4、5、6个点,掷两枚骰子之后,计算点数之和。
编写程序模拟掷骰子游戏.已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1.2.3.4.5.6个点,掷两枚骰子之后,计算点数之和.如果第一次掷的点数和为7或11,则游戏者获胜:如果第一次掷的点数 ...
- java实现双人摇骰子_Java实现的简单掷骰子游戏示例
本文实例讲述了java实现的简单掷骰子游戏.分享给大家供大家参考,具体如下: 要求: 掷两个骰子,每个骰子有六面, 分别为1.2.3.4.5.6.检查这两个骰子的和. 如果为2.3或12你就输了:如果 ...
- python 掷骰子游戏
掷骰子游戏: ==========掷骰子游戏========= 可选择的参加游戏的角色是:1.貂蝉 2.刘备 3.孙悟空 4.诸葛亮 5.曹操 输入参加游戏的角色是: 1 貂蝉进入游戏-- 貂蝉 ...
最新文章
- 6001.Cacti监控华为S8512核心交换机多块板卡的CPU和内存
- 常见的服务器内存浅析
- Android获取系统应用及安装应用的权限列表
- Python爬虫之旅_ONE
- (六)Vue3.0预学习
- java 三位数的水仙花数
- wordpress删除网址中的category前缀
- 初学者浅谈oracle中的一些sql
- Android 文件下载三种基本方式
- windows截图快捷键
- ES2015中let的暂时性死区(TDZ)
- 通达OA11.6复现
- 这七种职业男人让多少日本女性着迷
- linux查询日志grep,linux grep日志查询
- 中国超级计算机神威 上市公司,中国拟研发百亿亿级超级计算机 秒杀目前最快神威...
- Virtual box安装回退的一系列可能的原因及解决办法
- DNSPod吴洪声:国外域名注册商域名不许国内解析
- 微软春天发布活动将聚焦在Windows 10云版
- Ubuntu 16.04 下安装网易云
- 测试用例的书写方式以及测试模板大全
热门文章
- JAVA/C语言在线刷题-应声虫
- 整蛊小程序java手机_明天愚人节!这份微信+小程序整蛊攻略,助你出奇制胜!...
- 【STM32H7】第8章 ThreadX NetXDUO之TCP服务器
- Hbase热点问题以及避免热点问题的办法
- 2.1.数列极限——实数系
- 微软对联软件遭质疑 网友称恶搞中国文化
- 【fast ICA】基于fast ICA算法的去除伪迹matlab仿真
- 专访李钊:技术人才转向管理属于资源浪费
- TF卡/SD卡/U盘容量“变小”的问题
- 舵机PWM转模拟电压(带正反控制)