*
***
*****
***
*
授人以鱼,不如授人以渔,刚开始我看图形输出问题的时候觉的真他妈难,后来慢慢就总结出一点经验,其实图形输出题目就是考for循环,如果你任何一个图形都能用for输出的话,你的循环结构因该不成问题.
这类题目我一般都是这么做的,第一个循环确定要输出几行.比如上题,上下两个图形,可以分开做,先做
*
***
*****
输出3行吧?for(i=1;i<=3;i++)
这是3行的循环
然后判断每行输出多少个空格,找出和行数的关系.
第一行有2个空格,第二行有1个,第三行没有.也就是
i=1 j=2
i=2 j=1
i=3 j=0
你看i和j的关系就是j=3-i;我们就可以在下一个循环中用3-i了
for(j=1;j<=3-i;j++)
printf 空格
现在开始判断每行输出几个"*"了,还是循环,判断与i的关系
i=1 k=1
i=2 k=3
i=3 k=5
因该是2*i-1的规律
有点像数学ho~~呵呵.
for(k=1;k<=2*i-1;k++)
printf *
然后分析下当i=1的时候j<=2,执行输出空格输出了2次,然后下个循环,
k<=1 输出一个*
符合题目要求...
然后用同样的方法输出
***
*
这是我的个人经验,我也刚学的c,一起进步...