首页 > 解决方案 > 在 C 中将二维数组打印为网格

问题描述

我正在寻找将二维数组(用户输入的值)打印为网格。

这是我的代码:

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

    int main(){

       int rowSize = 4;
       int colSize = 4;
       int disp[rowSize][colSize];

       int i, j;
       for(i=0; i<rowSize; i++) {
          for(j=0;j<colSize;j++) {
             printf("Enter value for disp[%d][%d]:", i, j);
             scanf("%d", &disp[i][j]);
          }
      }

       printf("Two Dimensional array elements:\n");
       for(i=0; i<rowSize; i++) {
         for(j=0; j<colSize; j++) {
            printf("%d ", disp[i][j]);
             }
          }

       return 0;
       }

它将数组输出为一行数字。如何在每行末尾插入新行?

谢谢

标签: carraysmultidimensional-arrayoutput

解决方案


您可以在打印循环中添加换行符,见下文:

   printf("Two Dimensional array elements:\n");
   for(i=0; i<rowSize; i++) {
     for(j=0; j<colSize; j++) {
        printf("%d ", disp[i][j]);
         }
         printf("\n");  // <<<<<< added newline
      }

运行代码的示例打印输出:

Two Dimensional array elements:
0 1 2 3 
4 5 6 7 
8 9 10 11 
12 13 14 15 

如果您使用制表符添加一些对齐,那就更好了 - 只需使用printf("%d\t", disp[i][j]);, 结果:

Two Dimensional array elements:
0   1   2   3   
4   5   6   7   
8   9   10  11  
12  13  14  15  

推荐阅读