哈哈哈哈...我的不用数组:(此为完整版)
#include
#include
char key='y';
int n=0;
unsigned long complete(int x,int y);
void come();
unsigned long min(int d,int f);
main()
{ while(key=='y'||key=='Y')
{come();
printf("Do you want to continue?(y/n)\n");
key=getche();
}
}
void come()
{ int i=0,j=0;
printf("Input the N.\n");
scanf("%d",&n);
printf("\n");
for(i=0;i
{for(j=0;j
{printf("%d\t",complete(j,i));}
printf("\n");
}
}
unsigned long min(int d,int f)
{ unsigned long c;
c=d>f?f:d;
return (c);
}
unsigned long complete(int x,int y)
{ unsigned long mx=0,my=0,base1=n,base2=n,mm=0,mn=0,re=0;
mx=min(x,n-x-1);
my=min(y,n-y-1);
{int nm=0,m=0,i=0;
nm=min(mx,my);
m=2*nm-1;
while(i<=m)
{ base1+=2*(n-i-1); i++; }
base2=base1+2*(n-i-1);
}
if(x==y)
{ if(mx==x)
re=base2;
else
re=base1;
}
else if(my
{ if(my==y)
re=base2+x-my;
else
re=base1+(n-my-1)-x;
}
else //(mx<=my) 1
{ if(mx==x)
re=base2-(y-mx);
else
re=base1-((n-1-mx)-y);
}
return (re);
}