金字塔的循环该怎么写呢?

金字塔的循环该怎么写呢?

能不能给点提示,不知道从何下手。。

正在回答

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

3回答

您好,PHP代码中接收用户输入的数值,假设用户输入的数值是4,那么循环时则循环四次,实现四行的效果,这是金字塔循环行的条件。

而内行输出多少个*的思路则为:金字塔可以拆分来看,左侧一个倒三角形,右侧一个三角形,组合起来为金字塔,依旧使用4行举例,那么金字塔的第一层应该是三个空格然后输出一个*,第二行为两个空格,三个*,第三行为一个空格,五个*,第四行为7个*。那么可以发现,空格的数量是每行数递增-1,而*的数量则是2*行数-1的规律。

最终可以分为外层一个循环,内层两个循环。循环条件则在思路中提到。

(另注意浏览器对于空格&nbsp会存在解析的问题,可以使用颜色为白色的*代替空格哦~)

同学可根据思路完成。如果解决了您的问题,请采纳。祝学习愉快!

  • 雨之赞歌 提问者 #1
    空格得是倒三角,每行数量的规律是怎么得到的呢
    2019-01-10 14:17:53
提问者 雨之赞歌 2019-01-10 14:28:38
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>作业</title>
</head>
<body>
<form action="#" method="post">
    <input type="text" name="num" placeholder="请输入要打印的行数"><br>
    <button type="submit" value="金字塔" name="gold">金字塔</button>
    <button type="submit" value="空心菱形" name="dia">空心菱形</button>
</form>
</body>
</html>


<?php
//首先接受数据
$num=$_POST['num'];
$gold=$_POST['gold'];
error_reporting(E_ALL&~E_NOTICE);

if (is_numeric($num) && $num>=0){
 if ($gold){

 for ($a=1;$a<=$num;$a++){
 for ($c=1;$c<=2*$a-1;$c++){
 echo "*";
 }
 echo "<br>";
 }
    }



}else{
 echo "层数请为正整数";
}


  • 您好,空格的数量是由行数决定的。参考如下:for($b=$a;$b<=$num;$b++){echo "&nbsp";}。祝学习愉快!
    2019-01-10 14:48:29
提问者 雨之赞歌 2019-01-10 12:47:06

如何将输入的行数与显示的行数关联呢

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4930    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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