螺旋矩阵
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了螺旋矩阵相关的知识,希望对你有一定的参考价值。
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;
}
以上是关于螺旋矩阵的主要内容,如果未能解决你的问题,请参考以下文章