题目
思路
将
1 2 3
4 5 6
7 8 9
转化成
7 4 1
8 5 2
9 6 3
如果正常for循环输出
1 2 3
4 5 6
7 8 9
的话,不难想象1是在a[0][0] 2是在a[0][1] 3是在a[0][2]
但是旋转后1是在a[0][2],2是在a[1][2],3是在a[2][2]
从上述转换我们可以看出旋转前123是在同一行,旋转后123是在同一列
所以输出旋转后的话 ,是不是先要将i和j换个位置,如果外循环是i内循环的j,就变成外循环是j内循环是i
主要代码
全部代码
#include <iostream>
using namespace std;
int main() {
int m, n; //m 为列,n为行
cin >> m >> n;
int a[m][n];
//输入
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cin >> a[i][j];
}
}
//输出
for (int i = 0; i < m; i++) {
for (int j = n; j >= 0; j--) {
cout << a[j][i];
}
cout << "\n";
}
}