研究生
最后登录1970-1-1
在线时间 小时
注册时间2021-6-25
|
- #include <stdio.h>
- //#define N 10
- int main()
- {
- int a[10][10];
- int i=0,j=-1,k,m=10,b=0,n=1;
- //j=-1是让第一次j++
- //k用于填数m个数的循环变量
- //m是填多少个数后修改填的方向
- //b代表填的方向
- //m是填的数,从1开始,到n*n
- while(m>0)
- {
- for(k=0;k<m;k++)//填m个数
- {
- if(b==0) j++;//right
- else if(b==1) i++;//down
- else if(b==2) j--;//left
- else if(b==3) i--;//up
- a[j]=n++;
- }
- if(++b==4) b=0;//右下左上右循环填
- if(b==1||b==3) m--;//转下或转上时,m要减1
- }
- for(i=0;i<10;i++)
- {
- for(j=0;j<10;j++)
- printf("%5d",a[j]);
- printf("\n");
- }
- }
复制代码
|
|