问答题

【说明】
本程序的功能是生成螺旋方阵,用户可以输入该方阵的行列数,然后就生成对应的螺旋方阵。例如:当n=5时,对应的螺旋方阵如下:
1 16 15 14 13
2 17 24 23 12
3 18 25 22 11
4 19 20 21 10
5 6 7 8 9
【C++代码】
#include"stdio.h"
#include"iostream,h"
int array[11][11];
int temp;
int ROW;
void godown(int &m,int &a)
for(temp=1; temp<=ROW;temp++)
if(array[temp]
  • [a]==0)
    array[temp][a]= (1) ;
    a++;
    void goright(int &m,int &b)
    for(temp=1;temp<=ROW;temp++)
    if(array
  • [b][temp]==0)
    array[b][temp]=m++;
    b--;
    void goup(int &m.int &c)
    for(temp=ROW;temp>0;temp-)
    if(array[temp]
  • [c]==0)
    array[temp][c]=m++;
    c--;
    void goleft(int &m,int &d)
    for(temp=ROW;temp>0;temp--)
    if(array
  • [d][temp]==0)
    array[d][temp]=m++;
    (2) ;
    void main()
    int a,b,c,d,max,m;
    cin>>ROW;
    cout>>end1;
    for(a=1;a<=ROW;a++)
    for(b=1;b<=ROW;b++)
    (3) ;
    m=1;
    a=d=1;
    b=c=ROW;
    max= (4) ;
    whiie(m<=max)

    godown(m,a);
    (5) (m,b);
    goup(m,c);
    goleft(m,d):

    for(a=1;a<=ROW;a++)

    for(b=1;b<=ROW;b++)
    printf("%3d ",array[a][b]);
    cout<<end1;

【参考答案】

(1)m++ (2)d++ (3)array[a][b]=0
(4)ROW*ROW (5)goright
热门 试题