手记

php 金字塔图案输出

最近在学java。然后看了java的趣味100例。就想把java变成php。。

直接上自己写的php趣味第一例子效果图:

<?php

/*

php 趣味100例。。参考的是java的趣味100例

打印出金字塔

????*

???***

??*****

?*******

*********

*/

/*

空格的话用?代表。以5层来说空格是4 》 3 》 2 》1 》 0

第1层 空格是 4  (总层数-第几层)(5-1)

第2层 空格是 3  (总层数-第几层)(5-2)

第3层 空格是 2  (总层数-第几层)(5-3)

第4层 空格是 1  (总层数-第几层)(5-4)

第5层 空格是 0  (总层数-第几层)(5-5)

那么可以用for循环来for($n=1;$n<=(总层数-第几层);$n++) echo ' ';


星号的话以5层来说:1 》 3 》5 》7 》9

发现是奇数那么可以用2(n)的次方来表示

1 = 2*1 -1  

3 = 2*2 - 1

5 = 2*3 - 1

7 = 2*4 -1

9 = 2*5 - 1

这里的乘以1 2 3 4 5是层数那么输出星号

for($s=0;$s<=(层数);$s++) echo '*';


最后换行

*/

?>


<?php

for($i=1;$i<=5;$i++){

for($n=1;$n<=(5-$i);$n++) echo '&nbsp;'; //用来输出空格

for($s=1;$s<=(2*$i-1);$s++) echo '*';  //用来输出星号

echo '<br />';

}

?>

   


<?php


//下面是书中的弄下扩展练习

//打印倒立金字塔 和 直角三角形

/*

倒立金字塔 还是以5层来说

*********

?*******

??*****

???**

????*

还是老样子我们先输出空格然后再输出星号

总层数是5

空格

1 - 0(层数-1)(1-1)

2 - 1(层数-1)(2-1)

3 - 2(层数-1)(3-1)

4 - 3(层数-1)(4-1)

5 - 4(层数-1)(5-1)

星号

1 - 9(总层数-第几层数)*2+1  (5-1)*2+1

2 - 7(总层数-第几层数)*2+1  (5-2)*2+1

3 - 5(总层数-第几层数)*2+1  (5-3)*2+1

4 - 3(总层数-第几层数)*2+1  (5-4)*2+1

5 - 1(总层数-第几层数)*2+1  (5-5)*2+1


*/

?>

<hr />

<?php

 for($i=1;$i<=5;$i++){

for($n=1;$n<=($i-1);$n++) echo '&nbsp;';

for($s=1;$s<=((5-$i)*2+1);$s++) echo '*';

echo '<br />';

 }

?>


<?php

//直角是三角形

/*

*****

****

***

**

*

直角的话我感觉更简单就输出星号就OK。

星号

1 - 5  (总层数-第几层)+1  (5-1)+1

2 - 4  (总层数-第几层)+1  (5-2)+1

3 - 3  (总层数-第几层)+1  (5-3)+1

4 - 2  (总层数-第几层)+1  (5-4)+1

5 - 1  (总层数-第几层)+1  (5-5)+1

*/

?>

<hr />

<?php

for($i=1;$i<=5;$i++){

for($s=1;$s<=((5-$i)+1);$s++){

echo '*';

}

echo '<br />';

}

?>

0人推荐
随时随地看视频
慕课网APP