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),来进行理解,讲的不好请见谅。