例题 旋转方阵
题目描述
Time Limit: 1000 ms
Memory Limit: 256 mb
打印出一个旋转方阵,见样例输出。
输入描述:
输入一个整数n(1 <= n <= 20), n为方阵的行数。
输出描述:
输出一个大小为n*n的距阵
输入
5
输出
1 16 15 14 13
2 17 24 23 12
3 18 25 22 11
4 19 20 21 10
5 6 7 8 9
代码
向右旋转90的矩阵的代码
#include <cstdio>int a[105][105];
int b[105][105];
int main(){int n,m;scanf_s("%d%d",&n,&m);for (int i = 1; i <= n;i++) {for (int j=1; j <= m; j++) {scanf_s("%d",&a[i][j]);}}for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {b[j][n-i+1] = a[i][j];//右边旋转90度}}for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {printf("%d ",b[i][j]);}printf("\n");}return 0;
}
for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {b[n-i+1][n-j+1] = a[i][j];//右边旋转180度}}