输出倒三角形

由题目可以看出,输出共有
n
n
n 行,第
1
1
1 行输出
n
n
n 个字符,第
2
2
2 行输出
n
−
1
n-1
n−1 个字符,
…
\dots
…,第
n
n
n 行输出
1
1
1 个字符。
对于这种
n
,
n
−
1
,
n
−
2
,
…
,
1
n,n-1,n-2,\dots,1
n,n−1,n−2,…,1 的序列,我们可以有
2
2
2 种方法产生:
- 循环变量
i从n开始,每次--i,直到1为止;
| i | n | n-1 | n-2 | n-3 | … | 2 | 1 |
|---|---|---|---|---|---|---|---|
| x | n | n-1 | n-2 | n-3 | … | 2 | 1 |
- 通过观察可以发现,第
i个数x一定满足x=n-i+1。
| i | 1 | 2 | 3 | 4 | … | n-1 | n |
|---|---|---|---|---|---|---|---|
| x | n | n-1 | n-2 | n-3 | … | 2 | 1 |
| n-i+1 | n-1+1 | n-2+1 | n-3+1 | n-4+1 | … | n-(n-1)+1 | n-n+1 |
打印图形

两种思路:
- 把图形分成 3 3 3 部分,第 1 1 1 行,中间 n − 2 n-2 n−2 行,第 n n n 行,注意中间每行两个星花间的空格都需要实际输出,否则两个星花是紧挨在一起的;
- 统一看成一个整体,用两层循环,当每行输出的位置既不是第 1 1 1 列,也不是第 n n n 列时,以当前是否是第 1 1 1 行或者第 n n n 行为判断标准,决定在此是输出星花还是空格。
1807

被折叠的 条评论
为什么被折叠?



