程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP練習--用for循環打印空心菱形,for菱形

PHP練習--用for循環打印空心菱形,for菱形

編輯:關於PHP編程

PHP練習--用for循環打印空心菱形,for菱形


思路:1,寫出代碼打印實心的金字塔

         2、修改代碼,把金字塔拋空

   3、修改代碼,把金字塔倒轉

   4、修改倒轉後的代碼,把金字塔拋空

   5、修改代碼,把具體的數進行參數化

1、寫出代碼打印實心金字的金字塔:

復制代碼
<?php
    //$n=5;
    for($i=1;$i<=5;$i++){
        //打印空格
        for($j=1;$j<=5-$i;$j++){
            echo "&nbsp;";
        }
        //打印*號
        for($k=1;$k<=2*$i-1;$k++){
            echo "*";
        }

        echo "<br/>";
    }

?>
復制代碼

 

2、

2、改善代碼,把金字塔拋空

復制代碼
<?php
    //$n=5;
    for($i=1;$i<=5;$i++){
        //打印空格
        for($j=1;$j<=5-$i;$j++){
            echo "&nbsp;";
        }
    //打印*號
    for($k=1;$k<=2*$i-1;$k++){
        //打印第一行後最後一行都打*連接
        if($i==1 || $i==5){
            echo "*";
        }else{
        //怎麼打空格和*號的問題
            if($k==1 || $k==2*$i-1){
                echo "*";
            }else{
                echo "&nbsp;";
            }
        }
    }
    echo "<br/>";
    }

?>
復制代碼

 

3、修改代碼,把金字塔倒轉

復制代碼
<?php
    //$n=5;
    for($i=1;$i<=5;$i++){
        //打印空格
        for($j=1;$j<=5-$i;$j++){
            echo "&nbsp;";
        }
        //打印*號
        for($k=1;$k<=2*$i-1;$k++){
            //打印第一行後最後一行都打*連接
            if($i==1 || $i==5){
                    echo "*";
            }else{
                //怎麼打空格和*號的問題
                if($k==1 || $k==2*$i-1){
                    echo "*";
                }else{
                    echo "&nbsp;";
                }
            }
        }
    echo "<br/>";
    }
    //倒轉
    for($i=5;$i>=0;$i--){
        //打印空格
        for($j=0;$j<=5-$i;$j++){
            echo "&nbsp;";
        }
        //打印*號
        for($k=1;$k<=2*$i-3;$k++){
            echo "*";
        }
    echo "<br/>";
    }
?>
復制代碼

 

4、修改倒轉後的代碼,把金字塔拋空,並把中間的*號去掉 修改這裡的代碼(if($i==1 || $i==5){ //去掉$i==5 把中間拋空)

復制代碼
<?php
    //$n=5;
    for($i=1;$i<=5;$i++){
        //打印空格
        for($j=1;$j<=5-$i;$j++){
            echo "&nbsp;";
        }
        //打印*號
        for($k=1;$k<=2*$i-1;$k++){
        //打印第一行後最後一行都打*連接($i==1 || $i==5) 
            if($i==1){ //去掉$i==5 把中間拋空
                echo "*";
            }else{
                //怎麼打空格和*號的問題
                if($k==1 || $k==2*$i-1){
                    echo "*";
                }else{
                    echo "&nbsp;";
            }
        }
    }
    echo "<br/>";
    }
    //倒轉 拋空
    for($i=5;$i>=0;$i--){
        //打印空格
        for($j=0;$j<=5-$i;$j++){
            echo "&nbsp;";
        }
        //打印*號
        for($k=1;$k<=2*$i-3;$k++){
            //怎麼打空格和*號的問題
            if($k==2*$i-3 || $k==1){
                echo "*";
            }else{
                echo "&nbsp;";    
            }
        }
    echo "<br/>";
    }
?>
復制代碼

 

5、修改代碼,把具體的數進行參數化 :把具體數字5改成$n=5代替,隨後可以設置$n的值,可以任意放大和縮小

復制代碼
<?php
    $n=5;
    for($i=1;$i<=$n;$i++){
        //打印空格
        for($j=1;$j<=$n-$i;$j++){
            echo "&nbsp;";
        }
        //打印*號
        for($k=1;$k<=2*$i-1;$k++){
        //打印第一行後最後一行都打*連接($i==1 || $i==5) 
            if($i==1){ //去掉$i==5 把中間拋空
                echo "*";
            }else{
                //怎麼打空格和*號的問題
                if($k==1 || $k==2*$i-1){
                    echo "*";
                }else{
                    echo "&nbsp;";
                }
        }
    }
    echo "<br/>";
    }
    //倒轉 拋空
    for($i=$n;$i>=0;$i--){
        //打印空格
        for($j=0;$j<=$n-$i;$j++){
            echo "&nbsp;";
        }
        //打印*號
        for($k=1;$k<=2*$i-3;$k++){
            //怎麼打空格和*號的問題
            if($k==2*$i-3 || $k==1){
                echo "*";
            }else{
                echo "&nbsp;";    
            }
        }
    echo "<br/>";
    }
?>
復制代碼

 

效果圖:

最後大功告成。順便說說 ,其實編程不難,難就難在怎麼樣的思路,怎樣去解決問題的方法。所以大家在編程的過程中善於思考。盡管花了半天的時間去想,但是最後想出來了,問題也得到解決,所以平時要多動腦動手去實踐。我們的編程能力才能提高。只有實踐了,東西才能被理解,知識點也掌握了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved