c语言作业2(12月9)

43 阅读1分钟
  1. 矩阵转置是线性代数的基本运算,就是将矩阵的行、列交换,即将行变成列,将列变成行。要求编写程序,实现输入一个4行4列的矩阵,将矩阵转置后输出。
#include 

int main() {
    // 定义4行4列的原矩阵
    int matrix[4][4];
    int i, j;

    // 1. 输入4行4列矩阵
    printf("请输入44列矩阵(每行输入4个整数,用空格分隔):\n");
    for (i = 0; i < 4; i++) {
        for (j = 0; j < 4; j++) {
            scanf(&#34;%d&#34;, &matrix[i][j]);
        }
    }

    // 2. 矩阵转置(直接在原矩阵上交换,节省空间)
    for (i = 0; i < 4; i++) {
        // 只交换上三角区域,避免重复交换
        for (j = i + 1; j < 4; j++) {
            int temp = matrix[i][j];
            matrix[i][j] = matrix[j][i];
            matrix[j][i] = temp;
        }
    }

    // 3. 输出转置后的矩阵
    printf(&#34;转置后的矩阵为:\n&#34;);
    for (i = 0; i < 4; i++) {
        for (j = 0; j < 4; j++) {
            printf(&#34;%d &#34;, matrix[i][j]);
        }
        printf(&#34;\n&#34;);
    }

    return 0;
}

运行结果如下: image.png