螺旋矩阵(c实现)

来源:互联网 发布:加拿大28预测软件 编辑:程序博客网 时间:2024/05/17 06:45

#include<stdio.h>#define N 10int main(){int c=0,i=0,j=0,out=1,n,z;int a[N][N]={0};/* 初始化下数组*/printf("请输入数组维数:");scanf("%d",&n);z=n*n;while(out<=z){i=0; /*每轮后初始化下i,j */j=0;for(i+=c,j+=c;j<n-c;j++){if(out>z)break;a[i][j]=out++;}/* 从左至右的循环 */for(j--,i=i+1;i<n-c;i++){if(out>z)break;a[i][j]=out++;}/* 从上至下的循环 */for(i--,j=j-1;j>=c;j--){if(out>z)break;a[i][j]=out++;}/* 从右至左的循环 */for(j++,i=i-1;i>c;i--){if(out>z)break;a[i][j]=out++;}/* 从下至上的循环 */c++;}for(i=0;i<n;i++){for(j=0;j<n;j++)printf("%5d",a[i][j]); printf("\n");}return 0;}

运行结果如下:



这里是指规则的螺旋矩阵,n*n型的。。。

也是以前的代码,注释好少。。。