C语言练习:矩阵交换行

描述

给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。

输入

输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。
第6行包含两个整数m、n,以一个空格分开。(1 <= m,n <= 5)

输出

输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。

样例输入

1 2 2 1 2
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
3 0 8 2 4
1 5

样例输出

3 0 8 2 4
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
1 2 2 1 2

代码:

#include
#include
int main()
{
    int a[5][5] = { 0 };
    int i, j, temp, m, n;
    for (i = 0; i < 5; i++) {    //输入二维数组
        for (j = 0; j < 5; j++) {
            scanf("%d", &a[i][j]);
        }
    }
    scanf("%d %d", &m, &n);  //输入需要交换的两行
    m = m - 1;  //行是从0开始的
    n = n - 1;
    for (j = 0; j < 5; j++) {  //两行互换
        temp = a[m][j];
        a[m][j] = a[n][j];
        a[n][j] = temp;
    }
    for (i = 0; i < 5; i++) {    //输出二维数组
        for (j = 0; j < 5; j++) {
            printf("%d ", a[i][j]);
        }
        printf("\n");            //换行
    }
    return 0;
}

你可能感兴趣的:(矩阵,线性代数,c语言)