首頁  >  文章  >  後端開發  >  php如何用迴圈輸出菱形

php如何用迴圈輸出菱形

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-09-28 17:13:156573瀏覽

php如何用迴圈輸出菱形

想法:

(1)寫出程式碼列印實心的金字塔。

(2)修改程式碼,把金字塔拋空。

(3)修改程式碼,把金字塔倒轉。

(4)修改倒轉後的程式碼,把金字塔拋空。

(5)修改程式碼,把具體的數字進行參數化。

1、寫出程式碼印實心金字的金字塔:

<?php
    //$n=5;
    for($i=1;$i<=5;$i++){
        //打印空格
        for($j=1;$j<=5-$i;$j++){
            echo " ";
        }
        //打印*号
        for($k=1;$k<=2*$i-1;$k++){
            echo "*";
        }
        echo "<br/>";
    }
?>

相關推薦:《php入門教學

2、改善程式碼,把金字塔拋空。

<?php
    //$n=5;
    for($i=1;$i<=5;$i++){
        //打印空格
        for($j=1;$j<=5-$i;$j++){
            echo " ";
        }
    //打印*号
    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 " ";
            }
        }
    }
    echo "<br/>";
    }
?>

3、修改程式碼,把金字塔倒轉。

<?php
    //$n=5;
    for($i=1;$i<=5;$i++){
        //打印空格
        for($j=1;$j<=5-$i;$j++){
            echo " ";
        }
        //打印*号
        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 " ";
                }
            }
        }
    echo "<br/>";
    }
    //倒转
    for($i=5;$i>=0;$i--){
        //打印空格
        for($j=0;$j<=5-$i;$j++){
            echo " ";
        }
        //打印*号
        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 " ";
        }
        //打印*号
        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 " ";
            }
        }
    }
    echo "<br/>";
    }
    //倒转 抛空
    for($i=5;$i>=0;$i--){
        //打印空格
        for($j=0;$j<=5-$i;$j++){
            echo " ";
        }
        //打印*号
        for($k=1;$k<=2*$i-3;$k++){
            //怎么打空格和*号的问题
            if($k==2*$i-3 || $k==1){
                echo "*";
            }else{
                echo " ";    
            }
        }
    echo "<br/>";
    }
?>

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

<?php
    $n=5;
    for($i=1;$i<=$n;$i++){
        //打印空格
        for($j=1;$j<=$n-$i;$j++){
            echo " ";
        }
        //打印*号
        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 " ";
                }
        }
    }
    echo "<br/>";
    }
    //倒转 抛空
    for($i=$n;$i>=0;$i--){
        //打印空格
        for($j=0;$j<=$n-$i;$j++){
            echo " ";
        }
        //打印*号
        for($k=1;$k<=2*$i-3;$k++){
            //怎么打空格和*号的问题
            if($k==2*$i-3 || $k==1){
                echo "*";
            }else{
                echo " ";    
            }
        }
    echo "<br/>";
    }
?>

效果圖:

php如何用迴圈輸出菱形

#

以上是php如何用迴圈輸出菱形的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多