当前位置: 代码迷 >> C语言 >> [求助]打印图形
  详细解决方案

[求助]打印图形

热度:331   发布时间:2007-11-21 19:06:44.0
没有啊~~!
。。。。。。。

----------------解决方案--------------------------------------------------------
*
***
*****
***
*
授人以鱼,不如授人以渔,刚开始我看图形输出问题的时候觉的真他妈难,后来慢慢就总结出一点经验,其实图形输出题目就是考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,一起进步...
----------------解决方案--------------------------------------------------------
  相关解决方案