老师帮忙看看为什么金字塔下面还会跟着菱形

老师帮忙看看为什么金字塔下面还会跟着菱形

<meta charset="UTF-8">

<title>作业</title>

</head>

<body>

<form action="#" method="post">

     <input type="text" name="num" placeholder="请输入要打印的行数"><br/>

     <button type="submit" name="button" value="pyramid">金字塔</button>

     <button type="submit" name="button" value="diamond">空心菱形</button>

</form>

<br/><br/>

    <?php

      $param = $_POST;

       if($_POST){

        //金字塔实现代码

         if($param['button'] =='pyramid'){

           $n = $_POST['num'];

            for($i=1;$i<=$n;$i++){

              for($j=1;$j<=$n-$i;$j++)

            echo '&nbsp';//打印一个由空格组成的倒直角三角形

              for($k=1;$k<=2*$i-1;$k++){

            echo '*';//打印一个由星号组成的等腰三角形,三角形星星的个数=2*层数-1。

            }

               echo '<br/>';

           }

          

        }elseif ($param['button'] == 'diamond') {

        $n = $_POST['num'];

        //空心菱形上半部分

      for($i=1;$i<=$n;$i++){

            for($j=1;$j<=$n-$i;$j++){

            echo '&nbsp';//打印一个空的倒直角三角

            }

            for($k=1;$k<=($i-1)*2+1;$k++){

            //打印一个实心型三角,判断输出行首行尾的星星,中间部分直接打印出空。

            if($k==1||$k==($i-1)*2+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/>';

        }

    }else{

    exit;

    }

?>

</body>

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,您好!导致金字塔下面还会跟着菱形的主要原因是您把菱形的下半部分放到了else if的括号外面拉。

http://img1.sycdn.imooc.com/climg//59673fe40001ff9309240697.jpg


把菱形的下半部分的代码放到elseif里面去,就不会出现你说的那种情况啦!

如果解决了您的问题,请采纳!祝学习愉快!

  • momobai 提问者 #1
    非常感谢!
    2017-07-13 18:13:41
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师