回 帖 发 新 帖 刷新版面

主题:程序设计

以下是一个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个回复)

沙发


#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") ;
}
}
我调好了,你试一下。外层循环循环三次。

我来回复

您尚未登录,请登录后再回复。点此登录或注册