题目描述
输入一个 n 行 m 列的黑白图像,将它顺时针旋转 90 度后输出。
输入格式
第一行包含两个整数 n 和 m,表示图像包含像素点的行数和列数。1≤n≤100,1≤m≤100。
接下来 n 行,每行 m 个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在 0∼255 之间。
输出格式
m 行,每行 n 个整数,为顺时针旋转 90 度后的图像。相邻两个整数之间用单个空格隔开。
思路
与B2106矩阵转置类似,只是输出的循环嵌套不一样,可以把B2106矩阵转置的代码复制下来,慢慢调试就行了
#include<iostream>
using namespace std;
int main(){
long long m,n;
cin>>n>>m;
long long a[101][101];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for(int i=0;i<m;i++){
for(int j=n-1;j>=0;j--){//这里的循环改成倒着来
cout<<a[j][i]<<" ";
}
cout<<endl;
}
return 0;
}