由一个“ ?”衍生的作业
1.“?”的递增与递减
例:
编写一个程序,输入一个整数n,在屏幕上打印?,打印规则如下,
第一行打印1个?
第二行打印2个?
……
第n行打印n个?
第n+1行打印n-1个?
……
倒数第二行打印2个?
最后一行打印1个?
Sample input:
5
Sample output:
?
??
???
????
?????
????
???
??
?
① 分段双for循环 (繁)
我的理解:两层for循环,外层for确定每次打印上限个数,里层for执行打印操作。
② if语句 + 分段for循环(简)
看着比①简洁,思路有一点点点不同。
2. 山脉 “ ?”
例:
打印山脉问号
输入整数n代表山脉问号的最高高度
sample intput:
4
sample output:
▲▲▲▲?
▲▲▲???
▲▲?????
▲???????
(PS:▲为打印的空格)
① 分段for循环(繁)
⭐思路
找规律,以n=4这个输入输出为例,可列出以下表格
联系变量 ( i ) | 空格 ( j ) | 问号 ( k ) |
---|---|---|
1 | 4 | 1 |
2 | 3 | 3 |
3 | 2 | 5 |
4 | 1 | 7 |
规律 | n - i + 1 | 2 * i -1 |
我的理解:知道每层需打印几个空格、需打印几个“ ?”。
② if 语句 + 分段for循环(简)
⭐思路
找规律,以n=4这个输入输出为例,可列出以下表格
联系变量 ( i ) | 山脉 ( j ) |
---|---|
1 | 5 |
2 | 6 |
3 | 7 |
4 | 8 |
规律 | n + i |
我的理解:知道每层山脉需打印的总个数,又知道其中空格的打印个数,剩余则为需打印的“ ?”。