for循環實現正等腰三角形


等腰三角形

/*
		  層數i	  星星數   空格數     循環層i
        *           1	    1       8   
      * * *         2	    3       6
    * * * * *       3	    5       4
  * * * * * * *     4       7	    2
* * * * * * * * *   5       9       0

星星數: 2*i-1  
空格數: 2*n+1-2*i-1 = 2(n-i)

*/
$n = 5;
for ($i=1; $i<=$n; $i++) {  //確定層數
   for ($j=1; $j<=$n-$i; $j++) {    //每層輸出空格數,因為左右都有空格,所以左右兩邊都是(n-i)即可
      echo "  "; //我這里有兩個空格
   }
   for ($j=1; $j<=2*$i-1; $j++) {   //每層的星星數
      echo "* ";
   }
   echo "\n";   //每層輸出完后換行
}

如果出現三角形斜曲了,這個是字體的原因導致的。
解決方案:可以每層多輸出1個空格,星星后面也加一個空格。

空心等腰三角形

/*
        *                空格
      *   *               6
    *       *     	  4
  *           *   	  2
* * * * * * * * *         0

*/
for ($i=1; $i<=$n; $i++) {	
   for ($j=1; $j<=$n-$i; $j++) {        //輸出左側空格	
	echo "  ";
   }
   for ($j=1; $j<=2*$i-1; $j++) {       //輸出星星
		
      if($j==1 || $j==2*$i-1 || $i==$n) {  //每行第一個和最后一個輸出星星;最后一行也全部輸出星星		
	  echo "* ";		
      }else {
	   echo "  ";   //中間的輸空格		
     }
		
   }
     echo "\n";
}

頁面顯示效果可能是這樣的:

實際效果看着好像不是那么理想,但其實也是字體原因

可以把輸出的結果復制到編輯器里看 就會發現得到下方的等腰三角形:

原文鏈接:https://www.cnblogs.com/xinxinmifan/p/php_made_triangle.html


免責聲明!

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



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