旋转矩阵

来源:互联网 发布:君临天下重生几率算法 编辑:程序博客网 时间:2024/04/28 10:03

顺时针N(n<=10)阶旋转矩阵

#include<stdio.h>#define N 10void main(){int a[N][N];//left, up, right, down为矩阵限制行和列int left, up, right, down, n, t;puts("input n:\n");scanf("%d", &n);if (n > 10){puts("error n");return;}left = up = t = 1;right = down = n;while(down >= up && right >= left){//从左向右for (int iTemp = left; iTemp <= right; iTemp++){a[up-1][iTemp-1] = t++;}up++;//从上到下for (int iTemp = up; iTemp <= down; iTemp++){a[iTemp-1][right-1] = t++;}right--;//从右到左for (int iTemp = right; iTemp >= left; iTemp--){a[down-1][iTemp-1] = t++;}down--;//从下到上for (int iTemp = down; iTemp >= up; iTemp--){a[iTemp-1][left-1] = t++;}left++;}for (int iRow = 0; iRow < n; iRow++){for (int iColumn = 0; iColumn < n; iColumn++){printf("%d\t",a[iRow][iColumn]);}puts("\n");}}