Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建动态数组并为其分配随机整数值? int*创建数组(字符类别,int n){ int*a; a=malloc(n*sizeof(int)); 对于(int i=0;i_C_Arrays_Srand - Fatal编程技术网

创建动态数组并为其分配随机整数值? int*创建数组(字符类别,int n){ int*a; a=malloc(n*sizeof(int)); 对于(int i=0;i

创建动态数组并为其分配随机整数值? int*创建数组(字符类别,int n){ int*a; a=malloc(n*sizeof(int)); 对于(int i=0;i,c,arrays,srand,C,Arrays,Srand,当我打印此代码时,它只打印相同的随机变量“n”次。您可以使用srand(getpid()或使用x=rand()%11从0-10生成指定随机数的范围;您可以尝试以下方法: int* create_array(char category, int n){ int *a; a = malloc(n* sizeof(int)); for (int i = 0; i < n; i++) { int x; srand( time(NULL)); x = rand

当我打印此代码时,它只打印相同的随机变量“n”次。

您可以使用
srand(getpid()
或使用
x=rand()%11
从0-10生成指定随机数的范围;

您可以尝试以下方法:

int* create_array(char category, int n){
  int *a;

  a = malloc(n* sizeof(int));

  for (int i = 0; i < n; i++) {
    int x;
    srand( time(NULL));
    x = rand();
    a[i] = x;
  }
#包括
#包括
#包括
int*创建_数组(字符类别,int n);
int
main(int argc,char const*argv[]){
时间;
int*数组;
inti,n;
炭类;
srand((未签名)时间(&t));
printf(“输入类别:”);
如果(扫描频率(“%c”,&category)!=1){
printf(“无效类别。\n”);
退出(退出失败);
}
printf(“输入n个数字:”);
如果(scanf(“%d”,&n)!=1){
printf(“无效的n值。\n”);
退出(退出失败);
}
数组=创建数组(类别,n);
printf(“0-10之间的n个随机数:\n”);
对于(i=0;i
这些答案可能会有所帮助:以及
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int *create_array(char category, int n);

int
main(int argc, char const *argv[]) {
    time_t t;
    int *array;
    int i, n;
    char category;

    srand((unsigned)time(&t));

    printf("Enter category: ");
    if (scanf("%c", &category) != 1) {
        printf("Invalid category.\n");
        exit(EXIT_FAILURE);
    }

    printf("Enter n numbers: ");
    if (scanf("%d", &n) != 1) {
        printf("Invalid n value.\n");
        exit(EXIT_FAILURE);
    }

    array = create_array(category, n);

    printf("Your n random numbers between 0-10:\n");
    for (i = 0; i < n; i++) {
        printf("%d ", array[i]);
    }

    free(array);

    return 0;
}

int
*create_array(char category, int n) {
    int *array;
    int i, candidate;

    array = malloc(n * sizeof(*array));

    for (i = 0; i < n; i++) {
        candidate = rand() % 10;
        array[i] = candidate;
    }

    return array;
}