码迷,mamicode.com
首页 > 其他好文 > 详细

螺旋矩阵

时间:2016-03-20 00:27:21      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

1   2   3   4   5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

给定正整数N,输出如上所示N*N矩阵。

代码:

#include<stdio.h>
#include<iostream>
using namespace std;
int m[100][100];
int main()
{
    int N;
    int cnt;
    while(scanf("%d",&N)!=EOF)
    {
        cnt = 0;
        for(int i=0; i<N/2; ++i)
        {
            for(int j=i; j<N-1-i; ++j)
                m[i][j]=++cnt;
            for(int j=i; j<N-1-i; ++j)
                m[j][N-1-i] = ++cnt;
            for(int j=N-1-i; j>i; --j)
                m[N-1-i][j] = ++cnt;
            for(int j=N-1-i; j>i; --j)
                m[j][i] = ++cnt;
        }
        if(N%2==1)
            m[N/2][N/2] = ++cnt;
        for(int i=0; i<N; ++i)
        {
            for(int j=0; j<N; ++j)
                printf("%d ",m[i][j]);
            printf("\n");
        }
    }
    return 0;
}


 

螺旋矩阵

标签:

原文地址:http://www.cnblogs.com/lemonhanyu/p/5296610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!