void de(int (*squre)[100],int x,int y)
{
int i=0,j=0;
bool filp=false;
while (i!=x-1 || j!=y-1)
{
printf("%d ",squre[j][i]);
if (filp)i--,j++;
else i++,j--;
//转向
if (i<0 || j<0 || i==x || j==y)
filp=!filp;
//修正
if (i<0 && j==y)
i=1,j=y-1;
else
{
if (i<0)i=0;else if (i==x)i=x-1,j+=2;
if (j<0)j=0;else if (j==y)j=y-1,i+=2;
}
}
printf("%d\n",squre[x-1][y-1]);
}
话说,N久以前曾经写过一个……