7-3 矩阵对角线互换

7-3 矩阵对角线互换

目录

题目

本题目要求读入1个n×n的矩阵A,然后输出该矩阵正对角线与反对角线互换后的矩阵。具体过程如下图所示:

输入格式:
输入在一行中给出1个不超过1000的正整数n。

输出格式:
输出对角线互换后的矩阵。

输入样例:

3
16 5 7
30 2 3
-8 0 5

输出样例:
在这里给出相应的输出。例如:

7 5 16
30 2 3
5 0 -8

代码

思路

  1. 定义二维整型数组int a[n][n]用来存储矩阵
  2. 由于只对对角线上的元素操作,所以只循环遍历数组的对角线,用i作为对角线元素下标for(int i = 0; i < n; i++)
  3. 定义临时变量int temp = a[i][i]存储对角线上的元素,然后将对角线上的元素与其对应位置的元素互换a[i][i] = a[i][n-i-1]; a[i][n-i-1] = temp;
  4. 最后双循环输出互换后的矩阵,注意输出的格式

代码

#include <stdio.h>

int main()
{
    int n;
    scanf("%d", &n);
    int a[n][n];
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            scanf("%d", &a[i][j]);
        }
    }
    for(int i = 0; i < n; i++)
    {
        int temp = a[i][i];
        a[i][i] = a[i][n-i-1];
        a[i][n-i-1] = temp;
    }
    for(int i = 0; i < n; i++)
    {
        int j = 0;
        for(; j < n-1; j++)
        {
            printf("%d ", a[i][j]);
        }
        printf("%d", a[i][j]);
        printf("\n");
    }
    return 0;
}

运行结果

posted @ 2023-12-02 23:52  刘倩_网安2211  阅读(56)  评论(0编辑  收藏  举报