韶华将逝,雄心未已;欲与众君,共习此技.

圣诞树

上一篇 / 下一篇  2007-07-12 13:00:47 / 天气: 晴朗 / 心情: 平静 / 个人分类:PHP & MySQL

这一次来用PHP生成圣诞树,当然只是简单的用“*”打印正的三角形图案而已。
 
先看一眼真正的圣诞树:
 
 
所写的代码是用于在网页上输出的:
 
<?php
 DEFINE('ROWS', 10);
 for ($i=1; $i<=ROWS; $i++)
 {
  for ($j=ROWS-$i; $j>=1; $j--)
   print '&nbsp;';
  for ($k=1; $k<=2*$i-1; $k++)
   print '*';
  print '<br />';
 }
 for ($l=1; $l<ROWS; $l++)
 {
  for ($m=1; $m<=ROWS-1; $m++)
   print '&nbsp;';
  print '*<br />';
 }
?>
 
常量ROWS用于指定树的层数。当ROWS为10时,效果如下:
 
 
 
小开同志提出了不同的意见,认为真正的圣诞树是应该分层的,就像这样:
 
 
于是修改了代码,如下所示:
 
<?php
 DEFINE('LEVELS', 5);
 function tree($levelNumber)
 {
  for ($i=1; $i<=$levelNumber+1; $i++)
  {
   for ($j=1; $j<=LEVELS-$i+1; $j++)
    print '&nbsp;';
   for ($k=1; $k<=2*$i-1; $k++)
    print '*';
   print '<br />';
  }
 }
 for ($i=1; $i<=LEVELS; $i++)
  tree($i);
 for ($l=1; $l<LEVELS*2; $l++)
 {
  for ($m=1; $m<=LEVELS; $m++)
   print '&nbsp;';
  print '*<br />';
 }
?>
 
常量LEVELS定义了层数,效果如下:
 
 
不是很好看,不过重点不是在这里。
 
希望有兴趣的同学能够将圣诞树造得更好更美。

TAG: PHP 算法 圣诞树 程序

关于Sangern其人:SEO探索者和SEO深度实践者 引用 删除 sangern   /   2008-04-08 13:59:25
哦?
引用 删除 1我喜   /   2007-09-23 22:47:56
5
真美啊啊啊啊

-------------------------------------------------
http://www.sy555.com
引用 删除 小开   /   2007-07-16 17:09:09
我画的圣诞树:
<?php
$row=3;  /* the number of rows in the first triangle */
$times=4;        /* the number of triangles */
$rowinbole=5;  /* the number of rows in the bole */
$middle=(2*$row-1+2*$times-2)/2;          /* the position of the middle "*" in the last line of the last triangle */
for ($a=1; $a<=$times; $a++)               
{ for ($i=1; $i<=$row; $i++)
  { print "<br />";
    for ($k=$i; $k<$middle; $k++)
      print ' ';
    for ($j=$row+1-$i; $j<=$i+$row-1; $j++)
      print "*";
    print "\n";
  }       
  $row++;
}
for ($a=1; $a<=$rowinbole; $a++)
{ print "<br />";
  for ($i=1; $i<$middle-1; $i++)
     print ' ';
  for ($j=$middle-1; $j<=$middle+1; $j++)
     print "*";
  print "\n";
}
?>
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 72846
  • 日志数: 265
  • 书签数: 19
  • 建立时间: 2007-05-03
  • 更新时间: 2008-04-15

RSS订阅

Open Toolbar