首页 > 代码库 > 顺时针蛇形矩阵

顺时针蛇形矩阵

#include <stdio.h>int main(){	int i=0,j=0;	int m[10][10]={0},s=1;	int a,b,c,d,parity,k,n,center;	printf("输入蛇形矩阵的n:");	scanf("%d",&n);	parity=n%2;//检测n的奇偶性;	center=n/2;	for(k=(n+1)/2;k>0;k--)	{		for(a=0;a<2*k-1-parity;a++)		{			m[i][j]=s;			j++;			s++;		}		for(b=0;b<2*k-1-parity;b++)		{			m[i][j]=s;			i++;			s++;		}		for(c=0;c<2*k-1-parity;c++)		{			m[i][j]=s;			j--;			s++;		}		for(d=0;d<2*k-1-parity;d++)		{			m[i][j]=s;			i--;			s++;		}		i++;		j++;		if(parity!=0&&i==center&&j==center)		{			m[i][j]=s;			break;		}		for(i=0;i<n;i++)		{			for(j=0;j<n;j++)			{				printf("%3d",m[i][j] );			}			printf("\n");		}	}}

  结果:

技术分享

顺时针蛇形矩阵