题目:给出一个n*m的整数矩阵,请你把这个矩阵顺时针旋转90度以后输出。
输入格式:第一行输入两个整数n,m中间用空格隔开,接下来n行每行m个整数 ,中间用空格隔开。
(1=<n<=200, 1=<m<=200,矩阵中的数都在int范围内)
**输出格式:**输出m行,每行n个整数中间用空格隔开。
样例输入1:
3 4
-1 3 6 3
7 7 9 1
10 3 4 6
样例输出2:
10 7 -1
3 7 3
4 9 6
6 1 3
代码:
#include<stdio.h>
int main(){
int m,n,arr[207][207];
scanf("%d %d",&n,&m);
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
scanf("%d",&arr[i][j]);
}
}
for(int k1=0;k1<m;k1++){ //按列输出
for(int k2=n-1;k2>=0;k2--){
if(k2!=0) printf("%d ",arr[k2][k1]);
else printf("%d",arr[k2][k1]);
}
printf("\n");
}
return 0;
}
小结: 将矩阵顺时针旋转90度,实则是将矩阵按列在外层,行在内层逆序输出的结果。