T611825 旋转图像

图像旋转解题思路

解题思路

  1. 理解顺时针旋转90度:旋转后的矩阵行数变为原矩阵的列数,列数变为原矩阵的行数

  2. 旋转规律:原矩阵的第j列变为旋转后矩阵的第j行,且顺序反转

  3. 输入处理:先读取矩阵的行列数n和m,然后读取n×m矩阵

  4. 旋转输出:按列遍历原矩阵,每列从下到上输出,形成旋转后的行

代码注释

#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; // 程序正常结束
}

 

posted @ 2025-05-27 14:18  CRt0729  阅读(17)  评论(0)    收藏  举报