原标题:C语言实现掷骰子游戏代码及解析

问题描述

编写C程序模拟一个掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1、2、3、4、5、6个点,在投两枚骰子之后,计算点数之和。点数多者获胜;点数相同则为平局。

现在要求编写C程序模拟这个游戏的过程,而且求出玩在100盘之后谁是最终的赢家。

问题分析

由于每个人掷骰子所得到的点数都是随机的,因此你需要借助随机数发生器,每次产生一个1 到 6之间的整数,由此模拟玩家掷骰子的点数。

需要得到6个不同的随机值,我们需要调用rand()函数,并取rand()函数除以6的余数就可以,就是rand()%6。但是这样得到的数是在0〜5之间的6个随机数,再将它加1,就是rand()%6+1,就可以得到1〜6之间的一个随机数。

为了计算在每盘中,甲、乙两人所掷的点数,需要定义两个int型变量d1、d2,用于记录每个人投掷点数的累加器。

为了记录每个人的获胜盘数,需要再定义两个int型变量c1、c2,用于记录每个人获胜的盘数。

下面是程序流程图:

下面是完整的代码:

#include

#include

#include

int main()

{

int d1, d2, c1, c2, i, j;

c1 = c2 = 0; /*初始化*/

srand((unsigned)time(NULL));

rand(); /*初始化随机数产生器*/

for(i=1; i<=100; i++)

{ /*模拟游戏过程*/

d1 = d2 = 0;

for(j=1; j<=6; j++)

{ /*两个人轮流掷骰子*/

d1 = d1+rand()+1;

d2 = d2+rand()+1;

}

if(d1>d2)

c1++; /*累加获胜盘数*/

else if(d1

c2++;

}

if(c1>c2) /*输出最终获胜者信息*/

printf("nThe first win.n");

else

if (c1

printf("nThe second win.n");

else

printf("They tie.n");

return 0;

}

运行结果:

The second win.

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址:https://www.linuxidc.com/Linux/2018-11/155248.htm返回搜狐,查看更多

责任编辑:

php掷骰子小游戏代码,C语言实现掷骰子游戏代码及解析相关推荐

  1. 24点游戏c语言程序代码,C语言实现24点游戏源代码

    本文实例为大家分享了C语言实现24点游戏的具体代码,供大家参考,具体内容如下 将算法实现改成C语言,并可在linux服务器上运行.同时修改为可显示所有结果. 注:如果传参重复,如4,4,7,7这样,会 ...

  2. c语言程序设计猜拳小游戏答辩,C语言课程设计猜拳游戏.doc

    C语言程序设计 课程设计(论文) 题目: 院(系): 专业班级: 学 号: 学生姓名: 指导教师: 教师职称: 起止时间: 课程设计(报告)任务及评语 院(系):软件学院 教研室:软件教研窒 学 号学 ...

  3. 快快吃豆游戏c语言代码,C语言快快吃豆游戏.doc

    C语言快快吃豆游戏 C语言--快快吃豆游戏 使用说明 运行程序时,首先进入到是游戏开始界面,根据提示,按键,决定是否进入游戏.运行效果如图7.1所示. 图7.1 进入游戏界面 按两下任意键,进入到快快 ...

  4. 接水果游戏代码 c语言,制作接水果游戏

    今天是儿童节,让老师教同学们做个接水果的小游戏吧. 我们新建一个项目,把小猫角色删除,然后选择一个碗的角色来接水果: 把碗移动到白色画布的下半部分,让它可以随着鼠标的移动而左右移动,但是不需要上下移动 ...

  5. c语言制作猜数游戏教程,C语言实现猜数游戏

    本文实例为大家分享了C语言实现猜数游戏的具体代码,供大家参考,具体内容如下 代码如下 #include #include #include void game() { srand((unsigned ...

  6. c语言能做安卓游戏吗,c语言能编写手机游戏吗?

    C语言可以编手机游戏. 你叫他去死 不过我这有 贪吃蛇的代码,你倒可以看看 (用TC 编译一定过) #include #include #include #include #include #defi ...

  7. java二叉树代码_JAVA语言实现二叉树生成的代码教程

    本文主要向大家介绍了JAVA语言实现二叉树生成的代码教程,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 给定某二叉树三序遍历中的两个,我们即可以通过生成该二叉树,并遍历的方法,求出剩 ...

  8. c语言程序2000行代码,C语言教务管理系统2000行代码

    <C语言教务管理系统2000行代码>由会员分享,可在线阅读,更多相关<C语言教务管理系统2000行代码(56页珍藏版)>请在读根文库上搜索. 1.C语言教务管理系统一.程序结构 ...

  9. 软件工程c语言2000行代码,C语言教务管理系统(2000行代码)

    <C语言教务管理系统(2000行代码)>由会员分享,可在线阅读,更多相关<C语言教务管理系统(2000行代码)(56页珍藏版)>请在人人文库网上搜索. 1.C语言教务管理系统一 ...

  10. fifo算法c语言程序代码,c语言实现fifo算法及代码

    C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. 尽管C语言提供了许多低级处理的功 ...

最新文章

  1. 《机器学习思维导图》,一图掌握机器学习知识要点
  2. 不要使用字符串常量作为对象锁去同步代码
  3. 成功解决FileNotFoundError: [WinError 2] 系统找不到指定的文件。
  4. Discuz! 7.2以下版本及各uc产品api接口Get webshell漏洞
  5. 五分钟精通Oracle Hints
  6. DotNetNuke模块开发简介
  7. linux mint 18安装中文,无法在Linux Mint 18.1“Serena”下安装pyFFTW
  8. 苹果一体机电脑计算机图标找不到,mac电脑airplay图标不见了怎么办
  9. 网上支付流程(大致)
  10. 全球爆发计算机勒索病毒
  11. TP6 WhereIn排序问题
  12. adb 不可以网络连接问题
  13. MCP2515 (2)
  14. 计算机论文指导记录范本,论文指导内容记录怎么写 3篇 论文指导记录20篇
  15. redis简单分布式锁实现 超简单的那种
  16. Error while Launching activity
  17. 200115(最小生成树的Kruskal算法(贪心))
  18. fiddler监控手机端https请求显示tunnel to ......443
  19. iOS_使用金山快盘管理项目
  20. Windows 10源代码泄露风波(上)

热门文章

  1. 基于单片机的功放protues_基于单片机的功放毕业设计
  2. 《语音信号处理》 语音识别章节 读书笔记
  3. android金山清理扫描文件动画,[Android开发实战]金山清理大师(猎豹清理大师)一键加速快捷方式动画实现...
  4. 最全加密算法之对称加密和非对称加密
  5. 4 实验项目_Android开发环境搭建
  6. dnf时装补丁教程_DNF补丁教程:就 是 这 么 简 单
  7. java设置环境变量jre_JRE环境变量配置图解
  8. 水晶易表Xcelsius 2008安装常见问题小结
  9. PostGreSQL8.0.0中文手册
  10. 《代码大全2》第6章 可以工作的类