T611825 旋转图像
图像旋转解题思路
解题思路
-
理解顺时针旋转90度:旋转后的矩阵行数变为原矩阵的列数,列数变为原矩阵的行数
-
旋转规律:原矩阵的第j列变为旋转后矩阵的第j行,且顺序反转
-
输入处理:先读取矩阵的行列数n和m,然后读取n×m矩阵
-
旋转输出:按列遍历原矩阵,每列从下到上输出,形成旋转后的行
代码注释
#include<bits/stdc++.h> using namespace std; int n, m; // 定义矩阵的行数n和列数m int a[101][101]; // 定义足够大的矩阵(题目最大100×100) int main() { // 读取矩阵的行数n和列数m cin >> n >> m; // 读取n×m矩阵数据 for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++) cin >> a[i][j]; // 将输入存入数组a // 顺时针旋转90度输出 for(int j = 1; j <= m; j++) // 按列遍历原矩阵 { for(int i = n; i >= 1; i--) // 每列从下到上遍历 { cout << a[i][j] << " "; // 输出元素加空格 } cout << endl; // 每行输出完后换行 } return 0; // 程序正常结束 }

浙公网安备 33010602011771号