之一螺旋打印数组
前两天参加赶集网笔试的时候,碰见这么一道题
给定一个5乘5矩阵
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
螺旋把它打印出来,就是打印顺序是 1 2 3 4 5 10 15 20 25 24 23 22 21 16 11 6 7 8 9 14 19 18 17 12 13
void func() { int array[5][5] = {{1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15}, {16,17,18,19,20}, {21,22,23,24,25}}; int startX = 0; int startY = 0; int endX = 4; int endY = 4; while (startX <= endX && startY <= endY) { int i; for (i = startX; i <= endX; i++) { cout << array[startY][i] << " "; } startY++; for (i = startY; i <= endY; i++) { cout << array[i][endX] << " "; } endX--; for (i = endX; i >= startX; i--) { cout << array[endY][i] << " "; } endY--; for (i = endY; i >= startY; i--) { cout << array[i][startX] << " "; } startX++; } }