例如,输入一个3,则 打印出
1 2 3
8 9 4
7 6 5
输入一个4,则 打印出
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
答案如下:
#include<stdio.h>
#include<conio.h>
#define N 10
void printCube(int a[][N],int n);
void main()
{
int a[N][N],n;
printf(“input n:n”);
scanf(“%d”,&n);
printCube(&a[0],n);
getch();
}
void printCube(int a[][N],int n)
{
int i,j,round=1;
int m=1;
for(i=0;i<n;i++)
a[0]=m++;
for(i=n-1;i>=n/2;i–)
{
for(j=round;j<=i;j++)
a[j]=m++;
for(j=i;j>=round;j–)
a[j-1]=m++;
for(j=i;j>round;j–)
a[j-1][round-1]=m++;
for(j=round;j<i;j++)
a[round][j]=m++;
round++;
}
for(i=0;i<n;i++){
for(j=0;j<n;j++)
printf(“%3d”,a[j]);
printf(“n”);
}
}