如何在 C 中创建一组随机数

  • 本文关键字:一组 随机数 创建 c
  • 更新时间 :
  • 英文 :


所以我正在尝试编写一个程序,从随机数制作矩阵,用户可以输入行数和列数

#include <stdio.h>
#include <stdlib.h>
int main() {
  int c, x, n, m;
  printf("write the number of linesn");
  scanf("%d", &n);
  for (c = 1; c <= n; c++) {
    x = rand() % 100 + 1;
    printf("%dn", x);
  }
  return 0;
}

这就是我所拥有的,我需要它来生成列,但我不知道如何。 m 将是列数

这是实现它的众多方法之一

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i, j, rows, columns;
    int **matrix;
    printf("write the number of rowsn");
    scanf("%d", &rows);
    printf("write the number of columnsn");
    scanf("%d", &columns);
    matrix = malloc(rows * sizeof *matrix);
    if (matrix == NULL)
        return -1;
    for (i = 0 ; i < rows ; i++)
    {
        matrix[i] = malloc(columns * sizeof(int));
        if (matrix[i] == NULL)
        {
            int k;
            for (k = i ; k >= 0 ; k--)
                free(matrix[k]);
            free(matrix);
            return -1;
        }
        for (j = 0 ; j < columns ; j++)
            matrix[i][j] = rand() % 100;
    }
    for (i = 0 ; i < rows ; i++)
    {
        for (j = 0 ; j < columns ; j++)
            printf("%5d", matrix[i][j]);
        printf("n");
    }
    for (i = 0 ; i < rows ; i++)
    {
        if (matrix[i] == NULL)
            continue;
        free(matrix[i]);
    }
    free(matrix);
    return 0;
}

最新更新