蛇形數組ios
如輸入3數組
輸出 1 2 3spa
8 9 4code
7 6 5blog
很鬱悶,筆試的時候老是會出一些小毛病,日常能夠來的及更改,考試卻心態不平衡ci
修改後貼上源代碼io
#include<iostream> using namespace std; int main() { int n; cin >> n; int** array = new int*[n]; for (int i = 0; i < n; i++) { array[i] = new int[n]; for (int j = 0; j < n; j++) { array[i][j] = 0; } } int dy[4] = { 1, 0, -1, 0 }; int dx[4] = { 0, 1, 0, -1 }; array[0][0] = 1; int x=0,y=0, _x, _y; int i = 0, j = 0; bool change = false; while (i<4 && j<4) { _x = x + dx[i]; _y = y + dy[j]; if (_x >= 0 && _x < n&&_y >= 0 && _y < n) { if (array[_x][_y] == 0) { array[_x][_y] = array[x][y] + 1; if (array[_x][_y] == n*n)break; x = _x; y = _y; } else { if (i == 3 && j == 3) { i = 0; j = 0; } else { i++; j++; } } } else { i++; j++; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout << array[i][j] << " "; } cout << endl; } }