由一个“ ?”衍生的作业
“?” 系列问题



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

我的理解:知道每层山脉需打印的总个数,又知道其中空格的打印个数,剩余则为需打印的“ ?”。

“?” 系列问题

相关文章: