在C中打印2D数组

时间:2010-04-30 01:23:05

标签: multidimensional-array

如何在c 中使用scanf打印用户输入的二维数组,名为grid [] []的数组和for循环?

如果用户键入3 5,输出将为:

.....
.....
.....

这是我到目前为止编写的代码(这里是新手):

#include <stdio.h>

#define MAX 10

int main()
{
    int grid[MAX][MAX];
    int row, col;
    int i,j;

    printf("Please enter your grid size: ");
    scanf("%d %d", &row, &col);

    for (i=0; i<MAX; i++)
        for //i gave up here


}

这只是我整个任务阶段的一小部分:

Enter number of rows and columns followed by list of words (hit enter twice to end list): 10 15
quick
brown
fox
jumped
over
lazy
dog

00  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
01  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
02  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
03  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
04  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
05  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
06  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
07  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
08  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
09  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
    0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 
  0. quick
  1. brown
  2. fox
  3. jumped
  4. over
  5. lazy
  6. dog

允许的函数,应该包含在代码中:字符串函数 - strlen(),strcpy(),strcat(),strchr(),strcmp(),strstr()

必须使用2d数组

必须使用fgets来表示单词。输出必须符合确切的格式。

3 个答案:

答案 0 :(得分:12)

这有什么帮助吗?

#include <stdio.h>

#define MAX 10

int main()
{
    char grid[MAX][MAX];
    int i,j,row,col;

    printf("Please enter your grid size: ");
    scanf("%d %d", &row, &col);


    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            grid[i][j] = '.';
            printf("%c ", grid[i][j]);
        }
        printf("\n");
    }

    return 0;
}

答案 1 :(得分:0)

...
for(int i=0;i<3;i++){ //Rows
for(int j=0;j<5;j++){ //Cols
 printf("%<...>\t",var);
}
printf("\n");
}
...

考虑到&lt; ...&gt;将是d,e,f,s,c ......等数据类型...... X)

答案 2 :(得分:0)

首先你需要输入两个数字,例如num_rows和num_columns,或许使用argc和argv,然后做一个for循环来打印点。

int j=0;
int k=0;
for (k=0;k<num_columns;k++){
   for (j=0;j<num_rows;j++){
       printf(".");
   }
 printf("\n");
 }

你必须稍后用其他东西替换点。