10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
-
输入
- 直接输入方陈的维数,即n的值。(n<=100) 输出
输出结果是蛇形方陈。
以下是代码
#include <iostream>
using namespace std;
int main()
{
int r;
int a[100][100];
while(cin >> r)
{
for(int k = 0; k < r; k ++)
for(int m = 0; m < r; m ++)
a[k][m] = 0;
int i = -1, j = r - 1;
int sum = r * r, g = 1;
while(sum --)
{
while(a[++i][j] == 0 && i < r) a[i][j] = g ++;
i--;
while(a[i][--j] == 0 && j >= 0) a[i][j] = g ++;
j++;
while(a[--i][j] == 0 && i >= 0) a[i][j] = g ++;
i ++;
while(a[i][++j] == 0 && j < r) a[i][j] = g ++;
j --;
}
for(int k = 0; k < r; k ++)
{
for(int m = 0; m < r; m ++)
cout << a[k][m] << "\t";
cout << endl;
}
}
return 0;
}