尝试在2D数组中打印值

时间:2018-05-15 01:22:35

标签: c arrays for-loop multidimensional-array random

如标题所示,我正在尝试打印2D数组的值。我的代码如下。我不确定为什么我的代码不打印结果数组。如下图所示,我将制作一个方形矩阵,并在其中给出0到50之间的随机数值。任何想法都将受到赞赏。非常感谢你。

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

int main () {

    int rows, cols, r, c; 

    printf("Enter the dimension of your square matrix: ");
    scanf("%d", &rows);

    rows=cols; 

    int A[rows][cols]; 

    for (r=0;r<rows;r++){

        for (c=0; c<cols; c++){

            A[r][c]=(rand() % 50); //Generates random number b/w 0 and 50.  

        }



    }

    for (r=0;r<rows;r++){ 

        for (c=0; c<cols; c++){

            printf("%d", A[r][c]);

        }
    }

}

1 个答案:

答案 0 :(得分:0)

scanf()后,您覆盖rows值。 将rows = cols切换为cols = rows

你也忘了设置rand的种子(srand( time(NULL) ))。

您的代码如下所示:

int main(){

int rows, cols, r, c; 
srand(time(NULL));

printf("Enter the dimension of your square matrix: ");
scanf("%d", &rows);

cols=rows; 

int A[rows][cols]; 

for (r=0;r<rows;r++){

    for (c=0; c<cols; c++){

        A[r][c]=(rand() % 50); //Generates random number b/w 0 and 50.  

    }

}

for (r=0;r<rows;r++){ 

    for (c=0; c<cols; c++){

        printf("%d ", A[r][c]);

    }
    printf("\n");
}

}