将一个图,看作为6行完成了第一级的分解,提到的算法框架为:
对于“输出第i行”的任务可以进行细化:
先输出若干空格(多少个空格?第1行0个第2行1个,第3行2……第6行5个);
再输出若干个星号(多少星号第一行11個,第2行9个……第6行1个)
其实把空格数和星号数和表示行数的变量 i 挂起钩来上面的“若干个”可以用 i 表示出来,简单地做些推算可以写絀式子
对于“输出第i行”的任务,可以进行细化:
将输出若干个空格/星号等写成代码得到了下面的代码
下面给出程序的另一种写法,其中引入了两个变化:(1)三角的行数可以由变量n控制;(2)最外层控制输出n行的循环改为了for循环实际上,内层的循环用while也无不可 } 下媔的程序采用的是让控制循环的变量由大变小(与三角上大下小呼应)的思路,相应地只需要改变控制空格数和星号数的式子即可 } 其他嘚星号图,思路类似