C语言矩阵旋转90度:实现步骤及代码示例

本文将介绍如何使用C语言编写程序,将输入的n阶矩阵按行序赋值,并将其向右旋转90度,输出旋转后的矩阵。

思路

  • 首先定义一个二维数组存储矩阵,按行序给元素赋值;
  • 然后将矩阵向右旋转90度,这里可以采用先转置再翻转每一行的方法实现;
  • 最后输出旋转后的矩阵,注意每个数字占4位字符的宽度,并向右对齐。

代码实现

#include <stdio.h>

int main() {
    int n, i, j;
    printf("输入阶数n: ");
    scanf("%d", &n);

    int matrix[n][n];

    // 按行序给矩阵赋值
    int num = 1;
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            matrix[i][j] = num++;
        }
    }

    // 矩阵转置
    for (i = 0; i < n; i++) {
        for (j = i + 1; j < n; j++) {
            int temp = matrix[i][j];
            matrix[i][j] = matrix[j][i];
            matrix[j][i] = temp;
        }
    }

    // 翻转每一行
    for (i = 0; i < n; i++) {
        for (j = 0; j < n / 2; j++) {
            int temp = matrix[i][j];
            matrix[i][j] = matrix[i][n - j - 1];
            matrix[i][n - j - 1] = temp;
        }
    }

    // 输出旋转后的矩阵
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            printf("%4d", matrix[i][j]);
        }
        printf("\n");
    }

    return 0;
}

示例输入和输出

输入:

4

输出:

  13   9   5   1
  14  10   6   2
  15  11   7   3
  16  12   8   4

代码解析

  • 矩阵赋值: 使用嵌套循环按行序给矩阵元素赋值,从1开始递增。
  • 矩阵转置: 使用嵌套循环,将主对角线以下的元素与对应位置的元素交换。
  • 翻转每一行: 使用嵌套循环,将每一行的元素进行左右翻转。
  • 输出矩阵: 使用嵌套循环,以4位字符的宽度输出旋转后的矩阵,并向右对齐。

总结

本文介绍了使用C语言实现矩阵旋转90度的步骤,并提供了详细的代码示例和解析。通过学习本示例,可以更好地理解矩阵操作的实现方式。

C语言矩阵旋转90度:实现步骤及代码示例

原文地址: https://www.cveoy.top/t/topic/nSeu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录