A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目:打印出如下图案

*
***
******
********
******
***
*  
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");

}
}  

10 个回复

倒序浏览
没有必要打印空格把
回复 使用道具 举报
循环当然不好搞,多练,多敲,共勉
回复 使用道具 举报
新手,头也大。。
回复 使用道具 举报
同绕,同绕
回复 使用道具 举报
看不懂,我也很绕,烦烦烦
回复 使用道具 举报
主要还是思路的问题,自己怎么用的都知道,就是思路不好想!
回复 使用道具 举报
shao 中级黑马 2015-5-24 23:12:49
8#
刚接触,确实比较绕,需要多练习啊。。。。。。。
回复 使用道具 举报
  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. }  
复制代码


回复 使用道具 举报
函数中的空格是什么鬼
回复 使用道具 举报
都是在纠结学习中慢慢会的,加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马