C编程百分比帮助2骰子程序滚动10000次

C编程百分比帮助2骰子程序滚动10000次,c,C,从头开始,重复第4部分,用2个骰子。这次我们用10000而不是1000 每个骰子可以是1-6,因此总共2个骰子的范围必须在2-12之间 您的输出将在2到12之间 请注意,滚2的可能性要比滚7的可能性小得多,因为2只能滚1+1。但是7可以是6+1,5+2,4+3,3+4,2+5,1+6 计算每个值出现的次数,并输出与前一部分相同的值 计算你将2、3、4等滚动到12的时间百分比。输出百分比,精度为小数点后一位。在讨论板上发布此结果 我的问题是在我的程序中,我写它是为了让它输出滚动的数量。我在尝试使用

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

每个骰子可以是1-6,因此总共2个骰子的范围必须在2-12之间

您的输出将在2到12之间

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

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

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

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

这是到目前为止我的代码

#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");
}
#包括
#包括
#包括
#定义尺寸11
#定义总数10000
内部主(空){
int-cnt=0;
int die1,die2,sum;
int数组[大小];
srand(时间(空));
对于(cnt=0;cnt
试试看

您可能希望查找此信息

提示:

如果您将单个模具的“计数”存储在一个阵列中,可能会出现以下情况:

数组[0]是我为单个骰子掷“1”的#/次;数组[1]我掷“2”的#/次,等等

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

array[0]是我掷两个骰子的总和为“2”的#/次;数组[1]我滚动“3”的#/次,以此类推

阵列应该有多大?你的总和永远不会小于2,或大于12。所以“int[SIZE]”(“11”)就足够了

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


“希望这能给你指明正确的方向…”

家庭作业标签是,所以请不要使用它。你到底试过多少百分比?我应该把代码放在哪一行?我应该将%d更改为%.2lf吗?也许这一行
printf(“%d的数量:%d\n”,cnt+2,数组[cnt])但这也是你的家庭作业谢谢你的帮助。我想出来了。printf(“%d的数量:%.1lf\n”,cnt+2,(浮点)数组[cnt]*100/总)
array[cnt]*100/SIZE;