【问题标题】:How to display a matrix in C如何在C中显示矩阵
【发布时间】:2013-01-04 22:54:36
【问题描述】:

我有一个 matrix.txt 文件,其中有一个这样写的矩阵:

1 2 3

4 5 6

7 8 9

我需要编写一个小 C 程序,将此文件作为输入,并以与 .txt 文件相同的方式打印此矩阵。

这意味着“./a.out matrix.txt”的输出必须与我的 .txt 文件中的内容完全相同:

1 2 3

4 5 6

7 8 9

我的问题是我能做的就是这个函数:

void printMatrice(matrice) {
    int x = 0;
    int y = 0;

    for(x = 0 ; x < numberOfLines ; x++) {
        printf(" (");
        for(y = 0 ; y < numberOfColumns ; y++){
            printf("%d     ", matrix[x][y]);
        }
        printf(")\n");
    }
}

但这一点都不好。

有人有想法吗?

谢谢

【问题讨论】:

  • "但这一点都不好。"为什么一点都不好?
  • 输出必须与 .txt 文件中的内容完全相同,但在我的函数中,我有一些“(”和“)”,它们之间还有很多空格。如何以与我编写矩阵相同的方式打印矩阵?
  • matrix.txt 可以改变吗?
  • @Flo 如果您不想要括号,为什么要首先添加它们?多余的空格也是如此:只需将它们从您的printfs 中删除,您就完成了!
  • 这一行打印一个括号:printf(" ("); 如果你不想要一个括号,把那行去掉!!

标签: c printing matrix


【解决方案1】:

试试这个简单的代码

int row, columns;
for (row=0; row<numberOfLines; row++)
{
    for(columns=0; columns<numberColumns; columns++)
    {
         printf("%d     ", matrix[row][columns]);
    }
    printf("\n");
}

【讨论】:

    【解决方案2】:

    我稍微修改了 user1929959 的代码,因为我有一些奇怪的打印。 如果您愿意,可以尝试复制粘贴此代码,看看它是如何运行的。这里只是一个n00b学生。希望我能有所帮助(我也在挣扎);)

    矩阵打印代码

    void main ()
    {
    
        int matrix [3][4] = { {1, 2, 3, 4},
                               {5, 6, 7, 8},
                               {9, 10, 11, 12}
                             };
        
        
        int row, column=0;
    
        for (row=0; row<3; row++)
         {
            for(column=0; column<4; column++)
                {printf("%d     ", matrix[row][column]);}
                printf("\n");
         }
        
        getchar();
    }
    

    【讨论】:

      【解决方案3】:

      您需要添加的只是: 把 //printf("\n"); 在循环中,负责打印 ROWS.so , \n:每行完成后会改变行。

      【讨论】:

        【解决方案4】:

        这里是怎么做的

        #include <stdio.h>
        
        #include <stdlib.h>
        
        void main()
        {
         int matrix[3][3]={{1,2,3},
        {4,5,6},{7,8,9}};
        int columns,rows;
        for(columns=0;columns<=2;columns++){
            for(rows=0;rows<=2;rows++){
                printf(" %d " ,matrix[columns][rows]);
            }
            printf("\n");
        }
        

        }

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-05-25
          • 1970-01-01
          • 1970-01-01
          • 2019-09-28
          • 2014-03-31
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多