黑马程序员技术交流社区

标题: for循环问题,有点绕,不好消化. [打印本页]

作者: hi虚无缥缈    时间: 2015-5-23 22:01
标题: for循环问题,有点绕,不好消化.
题目:打印出如下图案

*
***
******
********
******
***
*  
for
循环,第一层控制行,第二层控制列。


2.
程序源代码:

main()
{  
int i,j,k;  
for(i=0;i<=3;i++)

{  

for(j=0;j<=2-i;j++)


printf(" ");  

for(k=0;k<=2*i;k++)


printf("*");

printf("\n");

}  
for(i=0;i<=2;i++)

{  

for(j=0;j<=i;j++)


printf(" ");  

for(k=0;k<=4-2*i;k++)


printf("*");

printf("\n");

}
}  

作者: cui0wei0    时间: 2015-5-23 23:15
没有必要打印空格把
作者: fixer    时间: 2015-5-23 23:59
循环当然不好搞,多练,多敲,共勉
作者: 洋柿子    时间: 2015-5-24 10:01
新手,头也大。。
作者: woaidd99    时间: 2015-5-24 22:42
同绕,同绕
作者: kansiliyundi    时间: 2015-5-24 22:46
看不懂,我也很绕,烦烦烦
作者: ⒈苆都s.兲憶    时间: 2015-5-24 22:54
主要还是思路的问题,自己怎么用的都知道,就是思路不好想!
作者: shao    时间: 2015-5-24 23:12
刚接触,确实比较绕,需要多练习啊。。。。。。。
作者: yuang4074    时间: 2015-5-25 20:23
  1. main()
  2. {  
  3. int i,j,k;  
  4. for(i=0;i<=3;i++) //控制行数:控制前4行
  5. {  
  6. for(j=0;j<=2-i;j++) //控制每行打多少个空格(这和行数有规律)如果是第i行就是打印(2-i)+1 个;因为从0开始所以要 +1
  7. printf(" ");
  8. for(k=0;k<=2*i;k++) //控制每行打多少个*(这和行数有规律)如果是第i行就是打印(2*i)+1 个;因为从0开始所以要 +1
  9. printf("*");
  10. printf("\n");
  11. }  
  12. for(i=0;i<=2;i++) //控制后3行
  13. {
  14. for(j=0;j<=i;j++) //控制每行打多少个空格(这和行数有规律)如果是第i行就是打印i+1 个;因为从0开始所以要 +1
  15. printf(" ");
  16. for(k=0;k<=4-2*i;k++) //控制每行打多少个*(这和行数有规律)如果是第i行就是打印【4  -(2*i)+1】 个;因为从0开始所以要 +1
  17. printf("*");
  18. printf("\n");
  19. }
  20. }  
复制代码



作者: 李闯    时间: 2015-5-25 21:09
函数中的空格是什么鬼
作者: 七尺阳光    时间: 2015-5-25 21:12
都是在纠结学习中慢慢会的,加油




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2