下注和骰子的游戏

时间:2017-06-11 13:20:42

标签: c dice

好吧,我是一名学生,刚刚从编程世界开始,我正在深入研究C语言,直到我偶然发现了这个练习:

“创建一个模拟掷骰子的程序。程序必须允许用户”下注“1到6之间的数字(确认用户下注的数字实际上在1到6之间)并指出掷骰子的次数(最少10次,最多50次;这也必须经过验证)。如果用户下注的数字是出现次数最多的那个,该程序将打印一条消息“优秀”,如果是第二个,消息将显示“非常好”,依此类推,消息为“好”,“常规”,“坏”和“非常糟糕”,取决于与其他数字相关的投注发生次数。该计划必须显示每个数字出现的次数。

注意:

  • 使用随机数生成(使用srand(time(0)))来表示骰子的投掷。

  • 考虑通过引用使用参数传递。

  • 考虑订购数组以方便练习。“

好的,这就是事情。到目前为止,在我的课堂上,我们已经看到了以下内容:

  • 宏。

  • For and While。

  • 功能

  • 阵列。

这是我到目前为止所做的:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int max (int x, int y) {  //to determine the máximum between 2 given numbers
    if (x < y) {
            return y;
    } else {
        return x;
    }
}

int main (void) {
int i, random, bet, throws, times[6];

srand(time(0));

// user introduces the bet

printf("Apueste a los dados, elija un número del 1 al 6:\n");

do {
    scanf("%d", &bet);
} while (bet < 1 || bet > 6);

printf("Indique cuántas veces se lanzarán los dados (mínimo 10 veces, máximo 50 veces):\n");

// user says how many times the dice will be thrown 

do {
    scanf("%d", &throws);
} while (throws < 10 || throws > 50);

for (i = 0; i < 6; i++) {
    times[i] = 0;
}

// the program rolls the dice and keeps note of how many times a number shows up

for (i = 0; i <= throws ; i++) {
    random = ((rand() % 6) + 1);
    if (random == 1) {
            times[0]++;
            }
            if (random == 2) {
            times[1]++;
    }
    if (random == 3) {
            times[2]++;
            }
    if (random == 4) {
            times[3]++;
    }
    if (random == 5) {
                            times[4]++;
            }
    if (random == 6) {
            times[5]++;
    }
}

// I don't know how to continue
}"

我的问题是,我该如何完成练习?据说我需要订购一个数组,无论是时间[]还是新的数组(首先是时间[]的副本),然后再进行打印部分,但我不知道该怎么做。

另外,英语不是我的第一语言,所以如果有些事情不可理解,我很抱歉。

提前感谢任何阅读并试图帮助我的人。 问候。

0 个答案:

没有答案