将螺旋输出的数字放在表格内,求指导、、、、
程序代码://将螺旋输出的数字放在表格内
#include<stdio.h>
int a[10][10];
void luoxuan(int n);
void main()
{
printf("***将螺旋输出的数字放在表格内***\n\n");
printf("请输入N(1-9)\n");
int n,i,j,k,q;
while(scanf("%d",&n)!=0)
{
while(n>9)
{
printf("对不起,输入的数超出范围不能运行,请重新输入\n");
scanf("%d",&n);
}
luoxuan(n);
for(i=1,q=-1;i<=2*n+1;i++)
{
if(i%2==0)
q++;
for(j=1,k=0;j<=2*n+1;j++)
{
if(i%2==0 && j%2==0 )
{
printf("%2d",a[q][k++]);
}
if(i%2!=0 && j%2==0)
printf("━");
if(i%2!=0 && j%2!=0)
{
if(i==1)
{
if(j==1)
printf("┏");
else if(j==2*n+1)
printf("┓");
else
printf("┳");
}
else if(i==2*n+1)
{
if(j==1)
printf("┗");
else if(j==2*n+1)
printf("┛");
else
printf("┻");
}
else if(j==1)
{
if(i%2==1)
printf("┣");
}
else if(j==2*n+1)
{
if(i%2==1)
printf("┫");
}
else
printf("╋");
}
if(i%2==0 && j%2!=0)
printf("┃");
}
printf("\n");
}
}
}
void luoxuan(int n)
{
int i,j,k=1,m=0;
for(m=0;m<=n/2;m++)
{
for(i=m,j=m;j<n-m;j++)
a[i][j]=k++;
for(j=n-m-1,i=m+1;i<n-m;i++)
a[i][j]=k++;
for(i=n-m-1,j=n-2-m;j>=m;j--)
a[i][j]=k++;
for(j=m,i=n-2-m;i>m;i--)
a[i][j]=k++;
}
}求指导,没分了,见谅!!








