欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP练习--用for循环打印空心菱形 - jerrylsxu

程序员文章站 2022-03-26 09:04:31
...

思路:1,写出代码打印实心的金字塔

2、修改代码,把金字塔抛空

   3、修改代码,把金字塔倒转

   4、修改倒转后的代码,把金字塔抛空

   5、修改代码,把具体的数进行参数化

1、写出代码打印实心金字的金字塔:

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

        echo "
"; } ?>

2、

2、改善代码,把金字塔抛空

php
    //$n=5;
    for($i=1;$i$i++){
        //打印空格
        for($j=1;$j$i;$j++){
            echo " ";
        }
    //打印*号
    for($k=1;$k$i-1;$k++){
        //打印第一行后最后一行都打*连接
        if($i==1 || $i==5){
            echo "*";
        }else{
        //怎么打空格和*号的问题
            if($k==1 || $k==2*$i-1){
                echo "*";
            }else{
                echo " ";
            }
        }
    }
    echo "
"; } ?>

3、修改代码,把金字塔倒转

php
    //$n=5;
    for($i=1;$i$i++){
        //打印空格
        for($j=1;$j$i;$j++){
            echo " ";
        }
        //打印*号
        for($k=1;$k$i-1;$k++){
            //打印第一行后最后一行都打*连接
            if($i==1 || $i==5){
                    echo "*";
            }else{
                //怎么打空格和*号的问题
                if($k==1 || $k==2*$i-1){
                    echo "*";
                }else{
                    echo " ";
                }
            }
        }
    echo "
"; } //倒转 for($i=5;$i>=0;$i--){ //打印空格 for($j=0;$j$i;$j++){ echo " "; } //打印*号 for($k=1;$k$i-3;$k++){ echo "*"; } echo "
"; } ?>

4、修改倒转后的代码,把金字塔抛空,并把中间的*号去掉 修改这里的代码(if($i==1 || $i==5){ //去掉$i==5 把中间抛空)

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

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

效果图:

PHP练习--用for循环打印空心菱形 - jerrylsxu

最后大功告成。顺便说说 ,其实编程不难,难就难在怎么样的思路,怎样去解决问题的方法。所以大家在编程的过程中善于思考。尽管花了半天的时间去想,但是最后想出来了,问题也得到解决,所以平时要多动脑动手去实践。我们的编程能力才能提高。只有实践了,东西才能被理解,知识点也掌握了。