作者:半点闲
博客: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语言实现相关推荐

  1. c 语言掷骰子游戏,C 语言编程学习: 制作掷骰子小游戏

    C 语言编程学习: 制作掷骰子小游戏 问题描述 骰子是一个有六个面的正方体, 每个面分别印有 16 之间的小圆点代表点数. 假设这个游戏的规则是: 两个人轮流掷骰子 6 次, 并将每次投掷的点数累加起 ...

  2. R语言简单应用掷骰子游戏

    .练习8-1 在掷骰子游戏中,玩家(射手)准备掷出两个骰子,每个骰子都有六个面.如果掷出的总数为2.3或12,则该射手失败.如果总数是7或11,则对手(他)胜出.如果是其他任何得分,那么此得分将变成新 ...

  3. 掷骰子python代码_通过构建一个简单的掷骰子游戏去学习怎么用 Python 编程

    不论是经验丰富的老程序员,还是没有经验的新手,Python 都是一个非常好的编程语言. Image by : opensource.com Python 是一个非常流行的编程语言,它可以用于创建桌面应 ...

  4. html5游戏 dice掷骰子,使用jQuery实现掷骰子游戏

    本文实例为大家共享了jQuery实现掷骰子游戏的详细代码,供大家参考,详细内容如下 直接新版建一个html网页,需要在head中引入jquery,js,一些css代码以及js代码,如下: .wrap{ ...

  5. java骰子_Java实现的简单掷骰子游戏示例

    本文实例讲述了Java实现的简单掷骰子游戏.分享给大家供大家参考,具体如下: 要求: 掷两个骰子,每个骰子有六面, 分别为1.2.3.4.5.6.检查这两个骰子的和. 如果为2.3或12你就输了:如果 ...

  6. html掷骰子游戏的代码,jquery实现掷骰子小游戏

    本篇给大家分享一个很好玩的掷骰子游戏,当点击"掷筛子"按钮时张三和李四两人同时掷出筛子,在各自的文本框中会显示出各自掷出筛子的大小,并且会在第三个文本框中比较出两人点数的大小,并显 ...

  7. 编写程序模拟掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1、2、3、4、5、6个点,掷两枚骰子之后,计算点数之和。

    编写程序模拟掷骰子游戏.已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1.2.3.4.5.6个点,掷两枚骰子之后,计算点数之和.如果第一次掷的点数和为7或11,则游戏者获胜:如果第一次掷的点数 ...

  8. java实现双人摇骰子_Java实现的简单掷骰子游戏示例

    本文实例讲述了java实现的简单掷骰子游戏.分享给大家供大家参考,具体如下: 要求: 掷两个骰子,每个骰子有六面, 分别为1.2.3.4.5.6.检查这两个骰子的和. 如果为2.3或12你就输了:如果 ...

  9. python 掷骰子游戏

    掷骰子游戏: ==========掷骰子游戏========= 可选择的参加游戏的角色是:1.貂蝉  2.刘备  3.孙悟空  4.诸葛亮 5.曹操 输入参加游戏的角色是: 1 貂蝉进入游戏-- 貂蝉 ...

最新文章

  1. 6001.Cacti监控华为S8512核心交换机多块板卡的CPU和内存
  2. 常见的服务器内存浅析
  3. Android获取系统应用及安装应用的权限列表
  4. Python爬虫之旅_ONE
  5. (六)Vue3.0预学习
  6. java 三位数的水仙花数
  7. wordpress删除网址中的category前缀
  8. 初学者浅谈oracle中的一些sql
  9. Android 文件下载三种基本方式
  10. windows截图快捷键
  11. ES2015中let的暂时性死区(TDZ)
  12. 通达OA11.6复现
  13. 这七种职业男人让多少日本女性着迷
  14. linux查询日志grep,linux grep日志查询
  15. 中国超级计算机神威 上市公司,中国拟研发百亿亿级超级计算机 秒杀目前最快神威...
  16. Virtual box安装回退的一系列可能的原因及解决办法
  17. DNSPod吴洪声:国外域名注册商域名不许国内解析
  18. 微软春天发布活动将聚焦在Windows 10云版
  19. Ubuntu 16.04 下安装网易云
  20. 测试用例的书写方式以及测试模板大全

热门文章

  1. JAVA/C语言在线刷题-应声虫
  2. 整蛊小程序java手机_明天愚人节!这份微信+小程序整蛊攻略,助你出奇制胜!...
  3. 【STM32H7】第8章 ThreadX NetXDUO之TCP服务器
  4. Hbase热点问题以及避免热点问题的办法
  5. 2.1.数列极限——实数系
  6. 微软对联软件遭质疑 网友称恶搞中国文化
  7. 【fast ICA】基于fast ICA算法的去除伪迹matlab仿真
  8. 专访李钊:技术人才转向管理属于资源浪费
  9. TF卡/SD卡/U盘容量“变小”的问题
  10. 舵机PWM转模拟电压(带正反控制)