程序填空(2)题目:编程输出以下图案

1、编程输出以下图案:
======
====O=
===OO=
==OOO=
=OOOO=
==OOO=
===OO=
====O=
======
#include "stdio.h"
#include "__________"
void main()
{int i,j;
for(__________;i<=4;i++)
 {for(j=1;j<__________;j++)
      printf("=");
  for(j=1;j<=__________;j++)
      printf("O");
  printf("__________");}
}

下面是答案解析,请仔细独立完成后观看:

/*1、编程输出以下图案:
======
====O=
===OO=
==OOO=
=OOOO=
==OOO=
===OO=
====O=
======*/
#include "stdio.h"
#include "math.h"	//首先,我们对于库函数,不确定,先看下面题目,请先不要看 (3)这个时候需要用到数学函数就要选择math.h库,绝对值调用为abs 
void main()
{int i,j;
for(i=-4;i<=4;i++)		//总共有9行,因为题目<=4,9-4=5,还差五行,而0又算一行,所以从-4开始 
 {for(j=1;j<=abs(i)+1;j++)	//我们看到一行要输出6个=,但不着急先看,(2)先看下面的,那么5=1+4,但是,不能1-i,因为会变成超过6个=,
      printf("=");		//(2)既然知道需要输出 5个=,而条件是围绕 i值的,所以这个时候就需要一个绝对值函数abs,刚好随着i的增大变化,但需要调用库函数,math.h。  
  for(j=1;j<=4-abs(i);j++)		//从第二行开始输出O,所以第一行为0,而因为i=-4,从-4开始,而4-4=0, 
      printf("O");			//但是 第二行为1个,而i刚好=-3,那么4-3=1个。而接下来,4-2=2,4-1=3 
  printf("=\n");}		//但始终后面缺少个=,而每次换行刚好是=,那么只要在换行前加上=,就可以不看最后一行了 ,看(2) 
}
}//这题的理解不能写全,但大部分可以推完,其余的需要根据abs(i),来进行理解,讲的不好请见谅。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值