笔试题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笔试题相关的知识,希望对你有一定的参考价值。
蛇形数组
如输入3
输出 1 2 3
8 9 4
7 6 5
很郁闷,笔试的时候总是会出一些小毛病,平常可以来的及更改,考试却心态不平衡
修改后贴上源代码
#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; 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; } }
以上是关于笔试题的主要内容,如果未能解决你的问题,请参考以下文章