螺旋矩阵经典C程序螺旋矩阵经典C程序
#include
#define N 8
#define M 6
void Spiral_matrix(int Max1,int Min1,int a[][N]);
void display(int A[][N]); int num=1;
int main()
{
int i,j;
int A[N][N];
int Max=N,Min=1;
if((N>0)&&(N%2==0)) //偶?数簓情é况?
{
for(i=1;i=(N/2)&&(Min0)&&(N%2==...
螺旋矩阵经典C程序
#include
#define N 8
#define M 6
void Spiral_matrix(int Max1,int Min1,int a[][N]);
void display(int A[][N]); int num=1;
int main()
{
int i,j;
int A[N][N];
int Max=N,Min=1;
if((N>0)&&(N%2==0)) //偶?数簓情é况?
{
for(i=1;i<=N/2;i++)
{
Spiral_matrix( Max, Min, A );
if(Max>=(N/2)&&(Min<=(N/2)))
{
Max--; Min++;
}
}
}
if((N>0)&&(N%2==1)) //奇?数簓情é况?
{
for(i=1;i<=N/2+1;i++)
{
Spiral_matrix( Max, Min, A );
if(Max>=(N/2+1)&&(Min<=(N/2+1)))
{
Max--; Min++;
}
}
}
display(A);
return 0;
}
void Spiral_matrix(int Max,int Min,int a[][N])
{
int row=Min,col=Min;
//1
if((row==Min)&&(col==Min))
{
for(col=Min;col<=Max;col++)
{
a[row-1][col-1]=num;
num++;
}
row++;
col--;
}
//2
if((col==Max)&&(row==Min+1))
{
for(row=Min+1;row<=Max;row++)
{
a[row-1][col-1]=num;
num++;
}
col--;
row--;
}
//3
if((row==Max)&&(col==Max-1))
{
for(col=Max-1;col>=Min;col--)
{
a[row-1][col-1]=num;
num++;
}
row--;
col++;
}
//4
if((col==Min)&&(row==Max-1))
{
for(row=Max-1;row>Min;row--)
{
a[row-1][col-1]=num;
num++;
}
}
}
void display(int A[][N]) {
int i,j;
printf("输?出? %d * %d 的?螺Y旋y矩?阵ó :\n", N,N);
for(i=0;i
本文档为【螺旋矩阵经典C程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。