打印字母三角形
总共需要打印六行字母,因此需要一个循环来控制要打印的行数,类似于这样:
for(int i=0;i<6;i++)
{
}
每一行打印字母,随着循环的进行,需要打印更多的字母,所以每一行需要A循环来打印字母,所以从F到A需要A循环来打印字母,其他的也一样。每行打印一个换行符,所以代码看起来像这样:
for(int i=0;i<6;i++)
{
for(char j='F';XXXXX;j--)
{
}
printf("%c",j);
}
因为每一行都是从F打印出来的,所以j的初始值必须是F,因为每一行都是从F打印到A,所以必须是j——这个操作,上面的代码并不难理解。
真正困难的是j= 'F'后进入循环的条件,如何考虑这个。
它是通过枚举得出的。
当i=0的时候,需要打印第一行字母,此时j='F',那么我们给j一个什么样的关系表达式,才能够让j只能取到'F'这一个值呢?
是不是j>'F'-1
char j='F',j>'F'-1;j-- j的定义域只能取到‘F’
当i=1的时候,需要打印第二行字母,也就是需要里面的循环执行两次,那么给j一个什么样的表达式,才能够让j的值渠道'F'和‘E’呢? 是不是j>'F'-2;
<