问题描述 输入行列的值,打印出左手旋转矩阵。 输入格式 输入一行,不超过20的m,n表示矩阵的行和列 。 样例输入 4 3 样例输出 1 2 3
10 11 4
9 12 5
8 7 6
#include <stdio.h>
int main()
{
static int a[100][100], i, j, n, m, k = 0;
scanf("%d%d", &n, &m);
//n行 m列
for (i = 0; i < n && i < m; i++)
{
for (j = i; j < m - i; j++)
{//right
a[i][j] = ++k;
}
for (j = i + 1; j < n - i; j++)
{//down
a[j][m - i - 1] = ++k;
}
if(n - i - 1 > 1)
{
for (j = m - i - 2; j >= i; j--)
{//left
a[n - i - 1][j] = ++k;
}
}
if (m - i - 1 > 1)
{
for (j = n - i - 2; j > i; j--)
{//up
a[j][i] = ++k;
}
}
if (k >= n * m){
break;
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
printf("%3d\t", a[i][j]);
}
printf("\n");
}
return 0;
}