题解:学而思编程 矩阵旋转2

张开发
2026/4/21 11:00:37 15 分钟阅读

分享文章

题解:学而思编程 矩阵旋转2
【题目来源】矩阵旋转2【题目描述】皮皮用手机拍摄了一幅由n nn行m mm列数字画他发现拍摄的时候由于角度限制手机是倒着拿的他决定把这幅画旋转180 ° 180°180°。读入这个矩阵输出旋转后的矩阵吧。【输入】输入由n 1 n1n1行组成第1 11行为2 22个正整数n , m n, mn,m表示矩阵的尺寸为n nn行m mm列接下来的n nn行每行有m mm个空格隔开的正整数代表矩阵中每一行的数字。【输出】输出由m mm行组成每行有n nn个用空格隔开的数字 矩阵旋转180 ° 180°180°后的结果。【输入样例】3 4 1 7 8 2 0 9 1 2 0 3 1 3【输出样例】3 1 3 0 2 1 9 0 2 8 7 1【算法标签】#模拟#【代码详解】#includeiostreamusingnamespacestd;intn,m,a[35][35],b[35][35];// n: 矩阵行数, m: 矩阵列数, a: 原矩阵, b: 变换后矩阵intmain(){cinnm;// 输入矩阵的行数和列数for(inti1;in;i)// 输入原矩阵{for(intj1;jm;j){cina[i][j];}}// 矩阵中心对称变换for(inti1;in;i)// 遍历所有行{for(intj1;jm;j)// 遍历所有列{b[i][j]a[n1-i][m1-j];// 中心对称}}// 输出变换后的矩阵for(inti1;in;i)// 输出b矩阵{for(intj1;jm;j){coutb[i][j] ;}coutendl;}return0;}【运行结果】3 4 1 7 8 2 0 9 1 2 0 3 1 3 3 1 3 0 2 1 9 0 2 8 7 1

更多文章