题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛)
算法标签
题目描述
给出一个n×m的整数矩阵,请你把这个矩阵顺时针旋转90度以后输出。
输入格式
第一行输入两个整数 n,m(1 < n, m< 200)n,m(1≤n,m≤200),用空格隔开。
接下来 n 行,每行输入 m 个整数,表示输入的矩阵。矩阵中元素都是 int 范围内的整数。
输出格式
输入 m 行,每行 n 个空格隔开的整数,表示旋转以后的矩阵。注意:每行末尾不能输出多余的空格。
样例输入
3 4
-1 3 6 3
7 7 9 1
10 3 4 6
样例输出
10 7 -1
3 7 3
4 9 6
6 1 3
思路
1.重点不在于变更矩阵顺序,在于输出想要的矩阵顺序即可。
2.注意格式,矩阵边缘不能输出多余的空格
题目代码
#include <iostream>
using namespace std;
int main() {
int m, n;
cin >> m >> n;
int a[500][500];
for (int p = 0; p < m; p++)
for (int q = 0; q < n; q++)
cin >> a[p][q];
for (int j = 0; j < n; j++)
{
for (int i = m - 1; i >= 0; i--)
if(!i)cout << a[i][j];//最右侧
else cout << a[i][j]<< " ";
cout << endl;
}
return 0;
}