最近在学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 ' '; //用来输出空格
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 ' ';
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 />';
}
?>
转载于:https://blog.51cto.com/onlinestores/1348356