首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C编程百分率帮助2骰子编程滚动10000次

C编程百分率帮助2骰子编程滚动10000次
EN

Stack Overflow用户
提问于 2012-10-03 11:41:52
回答 2查看 3.1K关注 0票数 0

从头开始,用2个骰子重复第四部分。让我们这次使用10000而不是1000。

每个骰子可以是1- 6个,因此2个骰子的总数必须在2- 12个范围内。

您的输出将在2- 12的范围内。

请注意,与滚动7相比,滚动2的可能性要小得多,因为2只能滚动1 + 1。但7可以是6 +1、5 +2、4 + 3、3+4、2+5、1+6。

计算每个值出现的次数,并输出与前一部分相同的值。

计算将2、3、4等滚动到12的时间百分比。以小数点后一位的精度输出百分比。把这个结果发布在讨论板上。

我的问题是,在我的程序中,我写了它,以便它输出滚动的数量。我在尝试使用百分比公式来输出掷出的骰子的百分比时遇到了极端的问题。

到目前为止,这是我的代码。

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 11
#define TOTAL 10000


int main(void)   {

    int cnt = 0;
    int die1, die2, sum;
    int array[SIZE];
    srand(time(NULL));

    for (cnt = 0; cnt < SIZE; cnt++)
        array[cnt] = 0;

    for (cnt = 0; cnt < TOTAL; cnt++)
    {
        die1 = rand() % 6 + 1;
        die2 = rand() % 6 + 1;
        sum = die1 + die2;
        ++array[sum-2];
    }
    for (cnt = 0; cnt < SIZE; cnt++)
        printf("Number of %d's: %d\n", cnt+2, array[cnt]);
    system("pause");
}
EN

回答 2

Stack Overflow用户

发布于 2012-10-03 11:50:25

试一试

代码语言:javascript
复制
array[cnt]*100/SIZE;

也是

您可能希望在Binomial distribution中查找此内容

票数 0
EN

Stack Overflow用户

发布于 2012-10-03 11:58:23

提示:

如果您将单个骰子的“计数”存储在一个数组中,您可能会得到如下内容:

数组是单个骰子掷出"1“的次数;array1是掷出"2”的次数,依此类推。

也许对于两个骰子,您希望数组存储和。例如:

数组是我为两个骰子掷出的次数之和为"2“;array1为我掷出的次数为"3",依此类推。

数组应该有多大?你永远不会得到一个小于2或大于12的和,所以"intSIZE“("11")应该就足够了。

在开始滚动之前,您需要将数组中的所有元素清除为"0“。

“希望能让你找到正确的方向……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12701586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档