C语言入门书籍《C程序设计》第66页例2.6如何分析实现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计963个文字,预计阅读时间需要4分钟。
题目描述:输入一个大写字母,输出由该字母与空格组成的字符阵。
输入格式:一个大写字母
输出格式:对应的字符阵
示例:输入:D输出:A B B B C C C C C D D D D D
例2.6
题目描述
根据输入的大写字母,输出一个由字母与空格组成的“字符阵”。
输入格式
一个大写字母。
输出格式
对应的“字符阵”。
样例输入
D
样例输出
A B B B C C C C C D D D D D D D C C C C C B B B A
题目分析
根据样例,我们其实很容易就发现了这个“字符阵”的规律。让我们先用数学表达式来描述一下~
字母的规律:整个“字符阵”可以看作一个菱形,从上到下每行依次为从A到输入字符ch。我们不妨设从A到ch共有num个字母。那么整个菱形共有2*num-1行,在前num行,第i行共有2*num-1个字母;在后num(或者或是 num-1 )行,倒数第i行也有2*num-1个字母。
空格的规律:易得,每两个字母间都有一个空格(这是废话)。关键在于每一行前面的空格数——
通过观察样例输出的“字符阵”可以发现,对于前num行而言,第i行前的空格数可以表示为(num-i)*2;对于后num行,我们也可以采用类似的表达式计算。
本文共计963个文字,预计阅读时间需要4分钟。
题目描述:输入一个大写字母,输出由该字母与空格组成的字符阵。
输入格式:一个大写字母
输出格式:对应的字符阵
示例:输入:D输出:A B B B C C C C C D D D D D
例2.6
题目描述
根据输入的大写字母,输出一个由字母与空格组成的“字符阵”。
输入格式
一个大写字母。
输出格式
对应的“字符阵”。
样例输入
D
样例输出
A B B B C C C C C D D D D D D D C C C C C B B B A
题目分析
根据样例,我们其实很容易就发现了这个“字符阵”的规律。让我们先用数学表达式来描述一下~
字母的规律:整个“字符阵”可以看作一个菱形,从上到下每行依次为从A到输入字符ch。我们不妨设从A到ch共有num个字母。那么整个菱形共有2*num-1行,在前num行,第i行共有2*num-1个字母;在后num(或者或是 num-1 )行,倒数第i行也有2*num-1个字母。
空格的规律:易得,每两个字母间都有一个空格(这是废话)。关键在于每一行前面的空格数——
通过观察样例输出的“字符阵”可以发现,对于前num行而言,第i行前的空格数可以表示为(num-i)*2;对于后num行,我们也可以采用类似的表达式计算。

