博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP打印金字塔---自己的实践练习题目
阅读量:5769 次
发布时间:2019-06-18

本文共 1525 字,大约阅读时间需要 5 分钟。

PHP代码打印镂空金字塔 代码 分析的过程在后面(64位系统最好打印2个 才能显示正常,否则底边成了旗杆

<?php

              $n=10;          

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

                    for($k=1; $k<=$n-$i; $k++){                

                   echo "&nbsp;&nbsp;";          

                    }     

                for($j=1; $j<=2*($i-1)+1;$j++){               

                               if($i==1||$i==$n){                        

                             echo "*";                 

                              }else{        

                             if($j==1||$j==2*$i-1){            

                                       echo "*";               

                                          }else{                

                                   echo "&nbsp;&nbsp;";            

                              }         

                          }        

                      }     

                            echo "<br/>";

                  }  

              ?>

//打金子字塔练习

//思路:打印如下的金字塔

//      *                    *                              第1层 1星   2空格             //层数和星个数$j的关系:($i-1)*2+1=$j  

//      **   ---->      ***                            第2层 3星   1空格              //层数和空格数$k的关系:$n-$i=$k  

//      ***             *****                          第3层 5星   0空格  

                                                                          

                                                                                                   

//(半个金字塔--->1个金字塔转变)

 //1.要有两个变量 一个控制行,一个控制列

//2.空格 和 *打印的顺序的问题(哪个优先)

//3.要打整个金字塔,先从何处着手,能不能

//先打半个金字塔,再从半个金字塔着手打印整个金字塔

//4.处理空格和星的逻辑关系

//5.代码实施

 //---------------半个金字塔代码---------------------

  <?php

        $n=10;

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

               for($j=1;$j<=($i-1)*2+1;$j++){   

                 //打印星     

                      echo "*";  }

             echo "<br/>"; }

?>

 //在半个金字塔的基础上,考虑全金字塔的实现,将上面的代码继续改进,

 //代码实施分析:

//1.在打印星 之前要先打印空格

//2.加入控制空格的代码

//3.代码实施

 

整个金字塔代码

<?php   

   $n=3;  

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

                       //打印空格  

               for($k=1;$k<=$n-$i;$k++){         

                      echo"&nbsp;&nbsp;";

                                 } 

                       //打印星*     

              for($j=1;$j<=($i-1)*2+1;$j++){   

                                echo "*";   }         

                  echo "<br/>";           //打印完星后输出一个换行              

       }    

   ?>      

 

 

 

 //-------------以上代码实现整个金字塔------------------

//在整个金字塔的基础的上打印镂空金字塔

//打印镂空金字塔代码分析 :

//1.正常打印第一层 和 最后一层 的星

//2.除第一层 和 最后一层外 打印每一层的第一个星 和 最后一个星,其它位置打印空格

打印镂空金字塔

 

 

 

<?php $n=10;

 

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

 

//打印空格  

 

for($k=1;$k<=$n-$i;$k++){         

 

echo"&nbsp;&nbsp;";    }  

 

 //打印星* 

 

 for($j=1;$j<=($i-1)*2+1;$j++){   

 

//第一层 最后一层正常打印星   

 

              if($i==1||$i==$n){          

 

                     echo "*";  

 

                      }else{      

 

                      //除第1层最后1层外,其它层第一个星 最后一个星照常给星   

 

                       if($j==1||$j==2*$i-1){       

 

                                echo "*";     

 

                                      }else{          

 

                                           echo "&nbsp;&nbsp;";        

 

                                                  }        

 

                                               }                            

 

                                            }                                

 

                                          //打印完星后输出一个换行              

 

                                       echo "<br/>";

 

                                     } ?>

 

转载于:https://www.cnblogs.com/lzh1983/p/6591578.html

你可能感兴趣的文章
微信企业号开发安全加密失败
查看>>
fstab 选项
查看>>
Spring cloud Consul 安装
查看>>
struts2的mvc分析
查看>>
GuozhongCrawler开发环境搭建
查看>>
现代化政府网站群建设
查看>>
风铃系统中,微信公众号服务平台如何搭建?
查看>>
我的友情链接
查看>>
css对于继承问题的探索
查看>>
我的友情链接
查看>>
Mysql集群主从复制及mysql-proxy读写分离
查看>>
linux 找出你所打出那个命令的安装包
查看>>
Pushmail:这个可以有
查看>>
01Jquery安装与加载
查看>>
我的友情链接
查看>>
Java并发编程:Callable、Future和FutureTask
查看>>
SCCM 2012 R2 实战系列(一)—SCCM简介
查看>>
Hyper-V 3.0 - 新特性
查看>>
VLAN和VTP的配置
查看>>
iptables编译
查看>>