蛇形填数
描述
在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4
- 输入
- 直接输入方陈的维数,即n的值。(n<=100) 输出
- 输出结果是蛇形方陈。 样例输入
-
3
样例输出 -
7 8 16 9 25 4 3
#include
#include using namespace std;const int size = 101;void matrix(int arr[size][size],int n){ int m; int k = 0; if(n % 2 == 0) m = n / 2; else m = n /2 + 1; for(int i = 0;i < n - i; j ++) { k ++; arr[j][n - i - 1] = k; } for(int j = n - i - 2; j>= i; j--) { k ++; arr[n - i - 1][j] = k; } for(int j = n - i - 2; j >=i; j--) { k ++; arr[j][i] = k; } for(int j = i + 1; j< n - i -1; j++) { k ++; arr[i][j] = k; } }} int main() { int a[101][101]; int value; cin>>value; matrix(a,value); for(int i = 0; i < value; i++) { for(int j = 0; j < value; j ++) { cout< <<" "; } cout<