矩阵旋转在做题的时候会遇到
我百度一下想找到已经总结过的模板 没找到 所以我干脆就自己写了
#include#define _for(i, a, b) for(int i = (a); i <= (b); i++)using namespace std;const int MAXN = 112;int a[MAXN][MAXN], n, m;int main(){ scanf("%d%d", &n, &m); _for(i, 1, n) _for(j, 1, m) scanf("%d", &a[i][j]); puts(""); _for(i, 1, n) //左右翻转 _for(j, 1, m) { printf("%-3d", a[i][m-j+1]); if(j == m) puts(""); } puts(""); _for(i, 1, n) //上下翻转 _for(j, 1, m) { printf("%-3d", a[n-i+1][j]); if(j == m) puts(""); } puts(""); _for(i, 1, m) //顺时针90度翻转 _for(j, 1, n) //注意i对应m,j对应n { printf("%-3d", a[n-j+1][i]); if(j == n) puts(""); } puts(""); _for(i, 1, m) //逆时针90度翻转 _for(j, 1, n) { printf("%-3d", a[j][m-i+1]); if(j == n) puts(""); } puts(""); _for(i, 1, n) //180度翻转 _for(j, 1, m) { printf("%-3d", a[n-i+1][m-j+1]); if(j == m) puts(""); } puts(""); return 0;}