PHP打印金字塔---自己的實踐練習題目


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/>";

 

                                     } ?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM