匿名用户
1级
2009-06-14 回答
#include"stdio.h"
#include"stdlib.h"
const long MAXSIZE = 100;
void main()
{
long pData[MAXSIZE][MAXSIZE];
printf("Please input size:\n");
long nSize;
scanf("%d", &nSize);
long i=0;
long j=0;
for (j=0; j
for (i=0; i
{
pData[j][i]=0;
}
j=0;
i=0;
bool bMoveUp=true;
for (long n=1; n<=nSize*nSize; n++)
{
if (j<0)
{
j++;
bMoveUp = !bMoveUp;
}
if (j>=nSize)
{
j--;
i+=2;
bMoveUp = !bMoveUp;
}
if (i<0)
{
i++;
bMoveUp = !bMoveUp;
}
if (i>=nSize)
{
i--;
j+=2;
bMoveUp = !bMoveUp;
}
pData[j][i] = n;
if (bMoveUp)
{
j--;
i++;
}else
{
j++;
i--;
}
}
for (j=0; j
{
for (i=0; i
{
printf("%5d",pData[j][i]);
}
printf("\n");
}
getchar();
}
Please input size:
12
1 2 6 7 15 16 28 29 45 46 66 67
3 5 8 14 17 27 30 44 47 65 68 89
4 9 13 18 26 31 43 48 64 69 88 90
10 12 19 25 32 42 49 63 70 87 91 108
11 20 24 33 41 50 62 71 86 92 107 109
21 23 34 40 51 61 72 85 93 106 110 123
22 35 39 52 60 73 84 94 105 111 122 124
36 38 53 59 74 83 95 104 112 121 125 134
37 54 58 75 82 96 103 113 120 126 133 135
55 57 76 81 97 102 114 119 127 132 136 141
56 77 80 98 101 115 118 128 131 137 140 142
78 79 99 100 116 117 129 130 138 139 143 144
Press any key to continue