您的位置:首页 > 其它

【HUSTOJ】1090: 螺旋方阵

2016-05-07 11:41 267 查看


1090: 螺旋方阵

Time Limit: 1 Sec  Memory Limit: 128 MB

Submit: 86  Solved: 40

原题链接


Description

输出一个形如样例如的螺旋方阵


Input

一个整数n(0<n<10)


Output

一个n行方阵,每行n个数,每个数场宽为3


Sample Input

5


Sample Output

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


HINT


Source

#include<stdio.h>
main()
{
int n,i,j,k,l=0,m=1;
scanf("%d",&n);
int a[100][100]={0};

if(n%2)              //判断圈数,并把圈数值给k
{k=n/2+1;}
else
{k=n/2;}

while(l<k)
{

for(i=l;i<n-l;i++)
a[l][i]=m++;
for(i=1+l;i<n-l;i++)
a[i][n-1-l]=m++;
for(i=n-2-l;i>=l;i--)
a[n-1-l][i]=m++;
for(i=n-2-l;i>=1+l;i--)
a[i][l]=m++;

l++;
}

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{printf("%3d",a[i][j]);}
printf("\n");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: