PHP練習–用for迴圈列印空心菱形

來源:互聯網
上載者:User

思路: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/>";    }?>

 

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.