c语言 旋转矩阵算法

来源:百度知道 编辑:UC知道 时间:2024/09/18 17:10:46
如下的矩阵算法分别是怎样的
0 0 0 0 0
0 1 1 1 0
0 1 2 1 0
0 1 1 1 0
0 0 0 0 0

7 8 9
6 1 2
5 4 3

#include <stdlib.h>
#include <stdio.h>
#define N 5

int min(int a,int b,int c,int d)
{
a=a<b?a:b;
a=a<c?a:c;
a=a<d?a:d;
return a;
}

int main()
{
int arr[N][N],i,j;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
arr[i][j]=min(i,j,N-1-i,N-1-j);
printf("%d ",arr[i][j]);
}
printf("\n");
}
system("pause");
return 0;
}

我会算你问的第一个矩阵:
#include <stdio.h>
main()
{
int a[5][5],i,j;
clrscr();
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(i==0||i==4||j==0||j==4)
a[i][j]=0;

else
if(i==2&&j==2)
a[i][j]=2;
else
a[i][j]=1;

for(i=0;i<5;i++)
{for(j=0;j<5;j++)
printf("%d",a[i][j]);
printf("\n");