- 浏览: 283054 次
- 性别:
文章分类
最新评论
整理自:《C Primer Plus》第五版
此程序包含三个文件:
diceroll.cpp :包含两个函数 rollem(int)和roll_n_dice(int,int)
diceroll.h :头文件
manydice.cpp :主函数所在文件
diceroll.cpp文件:
//掷骰子的模拟程序 #include "diceroll.h" #include<stdio.h> #include<stdlib.h> //为rand()函数提供类库 int roll_count = 0; //外部链接 //掷骰子 static int rollem(int sides) //这个文件的私有函数 { int roll; roll = rand() % sides + 1; ++roll_count; return roll; } int roll_n_dice(int dice,int sides) { int d; int total = 0; int temp; if(sides < 2) //边数少于2条 { printf("Need at least 2 sides.\n"); return -2; } if(dice < 1) //骰子数少于一个 { printf("Need at least 1 dice.\n"); return -1; } printf("\n产生的骰子数:\n"); for(d = 0; d < dice;d++) { temp = rollem(sides); total +=temp; printf(" %d",temp); } putchar('\n'); return total; }
diceroll.h文件:
//diceroll.h extern int roll_count; //掷骰子数 int roll_n_dice(int dice,int sides);
manydice.c文件
//manydice.cpp -- 多次掷骰子的模拟程序 //与diceroll.cpp一起编译 #include<stdio.h> #include<stdlib.h> //为srand()函数提供原型 #include<time.h> //为time()函数提供原型 #include "diceroll.h" //为roll_n_dice()和roll_count 提供原型 int main(void) { int dice,roll; int sides; //骰子的边数 srand((unsigned int)time(0)); //随机化种子 printf("Enter the number of sides per dice,0 to stop.\n"); while((scanf("%d",&sides) == 1) && sides > 0) { printf("how many dice?\n"); scanf("%d",&dice); //骰子数 roll = roll_n_dice(dice,sides); //得到的总数 printf("you have rolled a %d using %d %d-sided dice.\n",roll,dice,sides); printf("How many sides? enter 0 to stop.\n"); } printf("the rollem() function was called %d times.\n",roll_count); printf("GOOD FUTUNE TO YOU !\n"); }
发表评论
-
C中结构体
2013-01-09 15:47 615把结构体保存到文件中,用fwrite()函数: fwrite ... -
关于socket编程中基本函数介绍
2012-11-03 13:57 1029源自:http://blog.sina.com.cn/s/bl ... -
C中需要注意的小问题
2012-09-27 08:59 8121.在用scanf()函数读入double型数值时要用%lf的 ... -
指针和多维数组
2011-12-26 10:03 812摘自:《C primer plus》 指针和多位数组 ... -
C中<ctype.h>库
2011-12-19 20:21 718标准库<ctype.h> 1 ... -
C中double类型数据的输入和输出
2011-12-19 10:04 12392double a; scanf(" ... -
C中printf()和scanf()函数说明
2011-12-16 19:58 1589下面是对printf()和scanf()函数的说明: ... -
C中转义序列及其含义
2011-12-15 20:27 972转义序列: 序列 ... -
C中各数据类型取值范围
2011-12-15 19:31 13891.标准头文件<limits.h>中包含了 ... -
C中常用的类型转换函数
2011-12-14 17:34 815源自:http://hi.baidu.com/hao_%BF% ... -
C语言格式化输出系统时间
2011-12-14 17:04 5931源自:http://blog.csdn.net/jiadeli ... -
C中目标代码文件,可执行文件和库
2011-12-14 10:19 1955C编程的基本策略是使用程序将源代码文件转换为可执行 ... -
vs2008下vc的库函数及头文件存放位置
2011-12-13 22:14 4569在写C/C++程序时总会在开头包含一些头文件,如:#inclu ... -
malloc()函数
2011-12-12 17:35 0待写 -
C中字符串的输入输出及相关函数
2011-12-27 21:59 3840//本节内容摘自对Stephen Prata的《C Prime ... -
指针的基本操作以及关于指针的注意事项
2011-12-11 17:42 916一. 指针的基本操作有:赋值(assignment),求值(v ... -
关于*与++的优先级
2011-12-11 16:53 1722C中一元运算符*和++具有相等的优先级,但它们在结合时是从右向 ... -
C中关于数组参数的传递
2011-12-09 11:43 919编写一个对数组进行操作的函数,目的是返回数组内所用元素的和。 ... -
C中有关数组的说明
2011-12-09 11:10 787下面介绍一下关于数组的一些说明: 在数组声明时必须 ... -
C语言中对sizeof()和strlen()的说明
2011-12-09 10:01 11181.sizeof函数 sizeof函数返回表达式所占的内存空 ...
相关推荐
掷骰子小程序,利用C语言随机数生成函数,产生的随机数,模拟掷骰子随机出现的1-6数字,直接可以运行的小程序。
本题通过模拟掷骰子的过程,不仅可以让学习者熟悉C语言的基本语法,还能深入了解随机数生成以及数组的应用等关键概念。通过这样的实践练习,可以帮助初学者更好地掌握编程技巧,并提高解决问题的能力。 ### 二、...
在C语言的世界里,开发一款实战游戏,如“掷骰子”,可以让我们深入理解基本的编程概念、随机数生成以及用户交互。这篇文章将详细介绍如何利用C语言实现掷骰子游戏,涉及的知识点包括: 1. **基本语法**:C语言的...
游戏程序需要能够接受用户的输入,并根据用户的输入来生成随机数,模拟掷骰子的过程。 2.1.2 输入数据类型、格式和内容限制 在本课程设计中,学生需要考虑程序的输入数据类型、格式和内容限制。例如,程序需要能够...
为了模拟掷骰子,通常我们会将这个范围缩小到1到6,这可以通过`%`运算符实现。例如,`rand() % 6 + 1`将返回1到6之间的随机数,模拟骰子的点数。 游戏的基本结构可以分为以下几个部分: 1. **初始化**:游戏开始前...
在这个“VB掷骰子游戏”项目中,我们看到的是如何利用VB来实现一个基本的随机数生成器,模拟真实的掷骰子过程。在这个过程中,VB的随机数生成功能扮演了核心角色。 在VB中,我们可以使用`Rnd`函数来生成0到1之间的...
为了保证每次掷骰子的结果不同,我们需要在开始游戏前用当前时间初始化`Rnd`函数,如: ```vb Randomize Timer ``` 现在,我们有了随机数生成的基础,可以开始构建掷骰子的游戏逻辑。在VB中,可以创建一个窗体,...
4. **Game Logic**:游戏的核心部分通常涉及算法来模拟掷骰子的结果。这可能使用了`arc4random_uniform()`函数来生成0到6之间的随机整数,代表骰子的点数。为了增加游戏趣味性,可能还包含了多次掷骰子的循环,以及...
在模拟掷骰子的过程中,我们通常会用到随机数生成。在C语言中,这可以通过`<stdlib.h>`库中的`rand()`函数实现。`rand()`返回一个介于0和`RAND_MAX`之间的伪随机数。为了得到1到6之间的随机数,我们可以使用模运算 `...
算法说明 1、初始投掷:如果总是点数:2、3、12,则庄家赢 如果总点数是:7、12,...2、初始投掷的总点数作为目标值,玩家继续掷两个骰子, 直到总点数匹配目标,或者总点数是7. 如果总点数是7,则庄家赢;否则玩家赢.
通过伪随机数模拟掷骰子的点数,设计并实现了一个基于多线程方式模拟4人掷骰子游戏程序,并对1 000次游戏中每个游戏者获胜的次数进行统计。可以看出,在多次游戏中,每个游戏者获胜的概率符合概率分布规律。程序运行...
本实验报告的主要设计目标是创建一个用于模拟掷骰子游戏的应用程序。该游戏的设计思路是:游戏者滚动 3 个骰子,每个骰子有 6 个面,分别代表 1,2,3,4,5,6 六个点。当骰子停下后,计算这 3 个骰子上表面的点数...
我们将要模拟一个非常流行的游戏——掷骰子。 骰子的形式多种多样, 最普遍的是使用两个6面骰子。在一些冒险游戏中,会使用5种骰子:4面、6 面、8面、12面和20面。聪明的古希腊人证明了只有5种正多面体,它们的所 有...
假设有2个骰子,一个表示花色,一个表示牌点,模拟随机掷骰子,把骰子对应的牌翻过去,然后再掷骰子,再翻牌,.....如此100次。最后,输出还是正面向上的那些纸牌。 功能要求: 1) 能表示纸牌的花色和点数; 2) 能...
该程序的目标是模拟一个简单的骰子游戏,用户可以输入自己想要投掷骰子的次数,并通过随机数生成器模拟每次投掷的结果。最后,程序会统计每位玩家的总分并按照分数进行排序,以便展示最终的成绩排名。 ### 二、主要...
DiceZone是一个掷骰子模拟器应用程序,它确实使您进入了区域。 获得从命令行内掷骰子的能力。 用法 roll命令会将骰子掷到虚表上。 reset命令用于将所有骰子设置为其初始值,以便在您玩的游戏中重新使用。 您知道...
《使用Ncurses进行掷骰子模拟:深入理解C语言中的Dice-Rolls》 Ncurses库是一个在终端上创建用户界面的强大工具,尤其适用于文本模式的应用程序。在这个项目"Dice-Rolls-using-Ncurses"中,我们探索了如何利用...
92 掷骰子游戏 93 弹力球 94 俄罗斯方块 95 24点扑克牌游戏 96 贪吃蛇 97 潜水艇大战 98 机器人大战 99 图形模式下的搬运工 100 十全十美游戏 101 强大的通信录 102 ...
该应用的核心功能——模拟掷骰子,是通过Objective-C或Swift语言实现的。Objective-C是苹果早期的开发语言,而Swift是相对较新的语言,两者都被广泛用于iOS开发。在这个项目中,我们可能会看到如何使用这些语言来...