异enzymeV 2016-12-20 06:17 采纳率: 0%
浏览 963

我为啥打印不出空心金字塔,我的代码有问题吗?

<?php
$n=4;

for($i=0;$i<$n;$i++){
    if($i==0){
            for($j=0;$j<=($n-1);$j++){
                echo "$nbsp";
            }
            echo "*";   
    }elseif($i==($n-1)){
            for($j=0;$j<=($n-1);$j++){
                    echo"*";
            }       
    }elseif {
            for($j=0;$j<=($n-1-$i);$j++){
                echo"$nbsp";
            }
            echo"*";
            for($j=0;$j<=($i*2-1);$j++){
                echo"$nbsp";
            }
            echo"*";
        }

    echo"<br>";
}

?>

  • 写回答

2条回答 默认 最新

  • xiao_quande 2016-12-20 08:20
    关注
     $n = 10; //金字塔的层数
    $num = $n * 2 - 1; //每层金字塔的字符数量
    echo "金字塔的层数为:".$n."\n";
    
    for ($i = 0; $i < $n; $i++) {
      if ($i == 0) {// 打印第0层
        for($j = 0; $j < $n-1; $j++) {
          echo " ";
        }
        echo "*";
      } else if ($i == $n - 1) {// 打印第n-1层,最后一层
        for ($j = 0; $j < $num; $j++) {
          echo "*";
        }
      } else { //其他层
        //先打印左侧空格
        for ($j = 0; $j < $n-1-$i; $j++) {
          echo " ";
        }
        //打印左侧的*
        echo "*";
        //打印中间的空格
        for ($j = 0; $j < $i * 2 - 1; $j++) {
          echo " ";
        }
        //打印右侧的*
        echo "*";
      }
      echo "\n";//如果显示在网页里,则输出<br/>
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序