;

螺旋输出

今天碰到一个需要根据用户输入的数字螺旋输出。原题如下:

 

螺旋输出

用户输入一个正数,让该算法在屏幕上做螺旋输出

例如用户输入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,写了个控制台程序,如果有更好的解决方法,请拍砖。代码不怎么规范,请留言指正。。

https://files.cnblogs.com/tangyu/螺旋输出.rar

posted @ 2009-12-05 17:28  唐玉  阅读(132)  评论(0)    收藏  举报