主题:程序设计
菜鸟编程求指教
[专家分:0] 发布于 2012-11-24 11:24:00
以下是一个5×5阶螺旋方阵,设计一个算法输出该形式的n×n(n<10)阶方阵(顺时针方向螺旋)(递归方法)
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
回复列表 (共1个回复)
沙发
wangwei1232 [专家分:0] 发布于 2014-06-11 19:12:00
#include"stdio.h"
#define N 5
void main()
{
int i , j , q , p = N , count = 1 , a[N][N] ;
i = 0 ;
for( q = 0 ; q < p/2+1 ; q++)
{
for( j = q ; j < p-q ; j++)
a[i][j] = count++ ;
j-- ;
for( i++ ; i < p-q ; i++ )
a[i][j] = count++ ;
i-- ;
for( j-- ; j >= q ; j-- )
a[i][j] = count++ ;
j++ ;
for( i-- ; i > q ; i--)
a[i][j] = count++ ;
i++ ;
}
for( i = 0 ; i < p ; i++ )
{
for( j = 0 ; j < p ; j ++ )
{
printf("%5d ", a[i][j] ) ;
}
printf("\n") ;
}
}
我调好了,你试一下。外层循环循环三次。
我来回复