总体思路:
输出九行,每行输出的算式项数量以行号(值)为上限,未达到上限时,继续在该行输出算式项同时累加第一个因数(即列号)。当该行的算式项数量(列数)到达上限时,输出换行符。
控制变量:
iRow 行号
iColumn 列号
实现:
【外围】用 for 循环控制行号,每循环一次便增加一,以此达到输出1至9行的目的。
【内层】用 while 控制列数,当条件 iColumn <= iRow 成立时,累加列数,继续在该行输出算式。
【换行】当 iColumn <= iRow 条件不成立时,即表明该行已经输出完成,此时输出换行符。
细节:
为了保证列对齐,在每个算式最末输出 t 字符。
代码:
运行效果:
附加说明:
1、原题限制的是 for 循环的数量,并没有限制其他循环的数量。此题如果不用二层循环,势必会使局部变得复杂,对非学习算法的初学者来说难于理解。
2、谨慎使用过于晦涩、冗长的表达式,初学写代码时,应优先考虑条理清楚,易于阅读和维护,必要时甚至可以牺牲一点性能。
3、养成一个变量命名规范、空格合理的好习惯。
4、初学编程请养成写注释的好习惯(重要!如果你自己都不能用注释表达清楚自己的思路,那么就没有思路),注释应该前后统一。既利于阅读,也便于代码库的积累和代码复用。
5、如果不是为了学习算法,请谨慎使用递归。递归会对机器有要求,在上限值较大时程序容易出现性能问题甚至崩溃,从而影响代码的强壮性和通用性。
6、好事多磨,媳妇熬成婆。
本文来自投稿,不代表天一生活立场,如若转载,请注明出处:http://tiyigo.com/it/40745.html