代码如下:
#include <iostream>
using namespace ::std;
#define N 10
int a[N][N];
void InitSeq( int n )
{
int value = 1;
int i, j;
for( i = 0; i < n/2; i++ ) // n/2是圈数
{
for( j = i; j < n - i; j++ ) //向右增长
{
a[j][i] = value++;
}
for( j = i + 1; j < n - i; j++ ) //向下增长
{
a[n-1-i][j] = value++;
}
for( j = n - 2 - i; j > i; j-- ) //向左增长
{
a[j][n-1-i] = value++;
}
for( j = n - 1 - i; j > i; j-- ) //向上增长
{
a[i][j] = value++;
}
//n为奇数时,最中间数的值
if( n % 2 == 1 )
a[n/2][n/2] = value;
}
}
void printSeq( int n )
{
cout << "顺时针:" << endl;
for( int i = 0; i < n; i++ )
{
for( int j = 0; j < n; j++ )
{
printf( "%5d", a[j][i] );
}
printf("\n"