关于打印星号的问题 解决下 献给大政哥

<?php

/**
*author leeir
*思路分析
*/ 
/*
首先分析一个菱形是由上下两个三角形组成  也就是说我们只要打印一个向上的三角形和一个向下的三角形即可
那么我们下面要做的就是星号和空格
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
  观察图形
  现在打印的是五行
  空格:
  第一行前四个是空格
  第二行前三个是空格
  规律:
  也就是每一行的 空格的个数=line-当前行

  星号:
  第一行1个
  第二行3个
  第三行5个
  规律:
  也就是说 星号个数=(当前行-1)* 2 +1

下面开始动手写代码:
*/

   $line=5;//打印的行数

   //开始打印上半部分的形状
        for($i=1;$i<=$line;$i++){ //这个循环是打印多少行  这里是5行
          //在这五行里面做星号和空格处理
                    //这里是空格处理
                        for($space=1;$space<=$line-$i;$space++){
                           echo " "; 
                        } 
                    //这里是处理星号
                          for($star=1;$star<=($i-1)*2+1;$star++){
                              echo "*"; 
                          } 
                   //这个是没打印一行换一行
                        echo "<br/>"; 
        } 


         for($i=$line-1;$i>=1;$i--){ 
              for($space=1;$space<=$line-$i;$space++){
                echo " ";  
              }    
                  for($star=1;$star<=($i-1)*2+1;$star++){
                   echo "*";
                  }  
                  echo "<br/>"; 
          }
?>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值