【问题标题】:How can i pick a number from an array in C? [duplicate]如何从 C 中的数组中选择一个数字? [复制]
【发布时间】:2021-02-02 23:38:45
【问题描述】:

基本上我做了一个编号为 1,2,3 的数组。

int array[3] = {1,2,3};

如何从该列表中选择一个随机数并将其分配给不同的变量?

【问题讨论】:

  • 那将是array[x] = numberx 是一个介于 0-2 之间的数字。
  • @alex01011 你是说number = array[x]?
  • 有人已经给你答案了,但是:如果你想自己解决这些问题,方法和其他方法一样:把它分解成更小的部分。您需要 (a) 从 0..2 中选择一个随机数,(b) 从数组中获取该元素,以及 (c) 将获取的值分配给一个新变量。您已经知道其中哪些事情该怎么做?在继续之前,您需要对哪些方面进行更多研究或提出问题?

标签: c


【解决方案1】:

使用 rand() 函数并使用 mod 将结果降低为 3 个值 0、1 或 2。然后访问数组中的相应值:

    srand(time(NULL));//  without this rand() function might continuously give the same value
    int index = rand() % 3;
    printf("random: %d\n", array[index]);

考虑到数组包含硬编码值,您可以简单地:

int i = (rand() % 3) + 1;
printf("random: %d\m", i);

包含头文件<stdio.h><time.h><stdlib.h>

【讨论】:

    猜你喜欢
    • 2021-07-06
    • 2021-12-31
    • 2020-03-06
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多