螺旋输出
今天碰到一个需要根据用户输入的数字螺旋输出。原题如下:
螺旋输出
用户输入一个正数,让该算法在屏幕上做螺旋输出
例如用户输入30
1 2 3 4 5 6
18 19 20 21 22 7
17 28 29 30 23 8
16 27 26 25 24 9
15 14 13 12 11 10
2个条件
1、使螺旋矩阵尽可能保持正方形。
2、当用户输入数字不能填满矩阵时填入空白,并保持尽可能少的空白存在。
罗列输出还好说,使用二维数组定义就可以。。现在就是需要根据用户输入的数字来保证正方形。我的解决方法是判断是否为正方形,如果不是则高度加1即可。。如81可以分为9×9;82则可以变为10×9。其余的留白。
我使用vs2005,写了个控制台程序,如果有更好的解决方法,请拍砖。代码不怎么规范,请留言指正。。
不积跬步无以至千里

浙公网安备 33010602011771号