之一螺旋打印数组
前两天参加赶集网笔试的时候,碰见这么一道题
给定一个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++;
}
}
浙公网安备 33010602011771号