本文主要是介绍C语言:环形(蛇形)矩阵,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
输入n和m(都不超过20)
输入n*m矩阵
sample input:
4 3
sample output:
1 2 3 4
10 11 12 5
9 8 7 6
#include<stdio.h>
int main()
{
int a[20][20]={-1};
int t,x,y;
int n,m;
t=a[x=0][y=0]=1;
scanf("%d %d",&n,&m);
while(t<n*m)
{
while(y+1<m&&!a[x][y+1])//上
a[x][++y]=++t;
while(x+1<n&&!a[x+1][y])//右
a[++x][y]=++t;
while(y-1>=0&&!a[x][y-1])//下
a[x][--y]=++t;
while(x-1>=0&&!a[x-1][y])//左
a[--x][y]=++t;
}
for(x=0;x<n;x++){
for(y=0;y<m;y++)
printf("%3d",a[x][y]);
printf("\n");
}
return 0;
}
这篇关于C语言:环形(蛇形)矩阵的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!