C语言矩阵旋转90度:实现步骤及代码示例
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度的步骤,并提供了详细的代码示例和解析。通过学习本示例,可以更好地理解矩阵操作的实现方式。
原文地址: https://www.cveoy.top/t/topic/nSeu 著作权归作者所有。请勿转载和采集!