能告诉此程序的空间复杂度吗
#include<stdio.h>#define Max 100
int *Input()
{
int i[Max],*p=NULL,j=0;
p=i;
printf("输入多个测试集,以0结束......\n");
i[j]=-1;
while(i[j]!=0)
{j++;
scanf("%d",&i[j]);
}
return p;
}
int Search(int *p,int m)
{
while(*p!=0)
{
if(*p==m)
return 1;
p++;
}
return 0;
}
void main(void)
{
int m,s,*h;
int i,j,k=1,a[Max][Max];
h=Input();
printf("请输入你要查找的幻方的阶数:");
scanf("%d",&m);
if((m>0)&&(m%2!=0))
{
s=Search(h,m);
if(s==1)
{
for(i=0;i<m;i++)
for(j=0;j<m;j++)
a[i][j]=0;
a[i=0][j=m/2]=k;
for(k=2;k<=m*m;k++)
{ i-=1;j+=1;
if(i==-1&&j!=m) {i=m-1;a[i][j]=k;}
else if(j==m&&i!=-1) {j=0;a[i][j]=k;}
else if((i==-1&&j==m)||a[i][j]!=0) {i+=2;j-=1;a[i][j]=k;}
else a[i][j]=k;
}
for(i=0;i<m;i++)
{ for(j=0;j<m;j++)
printf("%3d",a[i][j]);
printf("\n");
}
printf("\n");
}
else
printf("在测试集中没有找到你要的幻方!!!\n");
}
else
printf("输入错误,该程序只能查抄奇数阶幻方!!\n");
}
[此贴子已经被作者于2017-2-21 08:26编辑过]