![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <iostream>
using namespace std;
int main()
{
int f = 0, i = 5, j = 5, k;
int A[26][26];
for (k = 1; k <= 25; k ++)
{
A[i][j] = k;
if (f == 0)
{
if (j == 5 && i != 1)
{
i--;
f = 1;
}
else if (i == 1)
{
j--;
f = 1;
}
else
{
i--;
j++;
}
}
else
{
if (i == 5 && j != 1)
{
j--;
f = 0;
}
else if (j == 1)
{
i--;
f = 0;
}
else
{
i++;
j--;
}
}
}
printf("1 -----------------------\n");
for (i = 1; i != 6; ++i)
{
for (j=1; j != 6; ++j)
{
printf("%4d", A[i][j]);
}
printf("\n");
}
i = 5;
j = 5;
f = 0;
for (k = 1; k < 13; k++)
{
A[i][j] = k;
A[6-i][6-j] = 26 - k;
if (f==0)
{
if (j==5)
{
i--;
f=1;
}
else
{
i--;
j++;
}
}
else
{
if (i==5)
{
j--;
f=0;
}
else
{
i++;
j--;
}
}
}
printf("2 -----------------------\n");
for (i = 1; i != 6; ++i)
{
for (j=1; j != 6; ++j)
{
printf("%4d", A[i][j]);
}
printf("\n");
}
f = 0, i = 1, j = 1, k;
for (k = 1; k <= 25; k ++)
{
A[i][j] = k;
if (f == 0)
{
if (j == 1 && i != 5)
{
i++;
f = 1;
}
else if (i == 5)
{
j++;
f = 1;
}
else
{
i++;
j--;
}
}
else
{
if (j == 5 && i != 1)
{
i++;
f = 0;
}
else if (i == 1)
{
j++;
f = 0;
}
else
{
i--;
j++;
}
}
}
printf("3 -----------------------\n");
for (i = 1; i != 6; ++i)
{
for (j=1; j != 6; ++j)
{
printf("%4d", A[i][j]);
}
printf("\n");
}
i = 1;
j = 1;
f = 0;
for (k = 1; k < 13; k++)
{
A[i][j] = k;
A[6-i][6-j] = 26 - k;
if (f==0)
{
if (j==1)
{
i++;
f=1;
}
else
{
i++;
j--;
}
}
else
{
if (i==1)
{
j++;
f=0;
}
else
{
i--;
j++;
}
}
}
printf("4 -----------------------\n");
for (i = 1; i != 6; ++i)
{
for (j=1; j != 6; ++j)
{
printf("%4d", A[i][j]);
}
printf("\n");
}
}
using namespace std;
int main()
{
int f = 0, i = 5, j = 5, k;
int A[26][26];
for (k = 1; k <= 25; k ++)
{
A[i][j] = k;
if (f == 0)
{
if (j == 5 && i != 1)
{
i--;
f = 1;
}
else if (i == 1)
{
j--;
f = 1;
}
else
{
i--;
j++;
}
}
else
{
if (i == 5 && j != 1)
{
j--;
f = 0;
}
else if (j == 1)
{
i--;
f = 0;
}
else
{
i++;
j--;
}
}
}
printf("1 -----------------------\n");
for (i = 1; i != 6; ++i)
{
for (j=1; j != 6; ++j)
{
printf("%4d", A[i][j]);
}
printf("\n");
}
i = 5;
j = 5;
f = 0;
for (k = 1; k < 13; k++)
{
A[i][j] = k;
A[6-i][6-j] = 26 - k;
if (f==0)
{
if (j==5)
{
i--;
f=1;
}
else
{
i--;
j++;
}
}
else
{
if (i==5)
{
j--;
f=0;
}
else
{
i++;
j--;
}
}
}
printf("2 -----------------------\n");
for (i = 1; i != 6; ++i)
{
for (j=1; j != 6; ++j)
{
printf("%4d", A[i][j]);
}
printf("\n");
}
f = 0, i = 1, j = 1, k;
for (k = 1; k <= 25; k ++)
{
A[i][j] = k;
if (f == 0)
{
if (j == 1 && i != 5)
{
i++;
f = 1;
}
else if (i == 5)
{
j++;
f = 1;
}
else
{
i++;
j--;
}
}
else
{
if (j == 5 && i != 1)
{
i++;
f = 0;
}
else if (i == 1)
{
j++;
f = 0;
}
else
{
i--;
j++;
}
}
}
printf("3 -----------------------\n");
for (i = 1; i != 6; ++i)
{
for (j=1; j != 6; ++j)
{
printf("%4d", A[i][j]);
}
printf("\n");
}
i = 1;
j = 1;
f = 0;
for (k = 1; k < 13; k++)
{
A[i][j] = k;
A[6-i][6-j] = 26 - k;
if (f==0)
{
if (j==1)
{
i++;
f=1;
}
else
{
i++;
j--;
}
}
else
{
if (i==1)
{
j++;
f=0;
}
else
{
i--;
j++;
}
}
}
printf("4 -----------------------\n");
for (i = 1; i != 6; ++i)
{
for (j=1; j != 6; ++j)
{
printf("%4d", A[i][j]);
}
printf("\n");
}
}
1 -----------------------
25 23 22 16 15
24 21 17 14 7
20 18 13 8 6
19 12 9 5 2
11 10 4 3 1
2 -----------------------
25 23 22 16 15
24 21 17 14 7
20 18 13 8 6
19 12 9 5 2
11 10 4 3 1
3 -----------------------
1 3 4 10 11
2 5 9 12 19
6 8 13 18 20
7 14 17 21 24
15 16 22 23 25
4 -----------------------
1 3 4 10 11
2 5 9 12 19
6 8 13 18 20
7 14 17 21 24
15 16 22 23 25
Press any key to continue