螺旋矩阵
2017-07-02 10:16
190 查看
#include<stdio.h> #define SIZE 10 int main() { int a[SIZE][SIZE]={0}; int N; scanf("%d",&N); //每条边的下标在x,y上的增量 int dx[]={0,1,0,-1}; int dy[]={1,0,-1,0}; int x=0,y=0,nx,ny,i,k=0; //k用来表示边,k=0,1,2,3 分别代表上,右,下,左 for(i=0;i<N*N;i++) { a[x][y]=i+1; nx=x+dx[k]; //下一个坐标的位置 ny=y+dy[k]; if(nx<0 || nx==N || ny<0 || ny==N || a[nx][ny]!=0) //下标越界或下标上已经赋值,转变方向 { k=(k+1)%4; nx=x+dx[k]; ny=y+dy[k]; } x=nx; y=ny; } int j; for(i=0;i<N;i++) { for(j=0;j<N;j++) { printf("%3d",a[i][j]); } printf("\n"); } return 0; }
相关文章推荐
- 从键盘输入一个整数(1~20) 则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。
- PAT乙级 1050. 螺旋矩阵(25)
- pat 乙级 1050. 螺旋矩阵(25)
- 矩阵顺时针螺旋赋值
- 面试题之螺旋矩阵
- 飘逸的python - 打印螺旋矩阵
- 1050. 螺旋矩阵(25)
- 螺旋输出N*N矩阵
- 螺旋矩阵 -- 腾讯16春招笔试题目
- Java基础知识_day06_(螺旋矩阵,控制台打印图案)
- 1050. 螺旋矩阵(25)
- 螺旋矩阵
- [数组]顺时针打印螺旋矩阵
- 编程题之--打印二维螺旋矩阵
- [Leetcode] spiral matrix 螺旋矩阵
- PAT乙级 1050. 螺旋矩阵(25)
- 螺旋输出二维矩阵
- 螺旋矩阵求指定位置的数字
- java 实现螺旋矩阵
- PAT乙级 1050. 螺旋矩阵(25)