php 新手 提问php for输出*号

<?phpfor($i=1;$i<10;$i++){for($j=10;$j>$i;$j--){echo"";}for($a=1;$a<$i;$a++){echo"*";... <?php
for($i = 1; $i<10;$i++){

for($j=10;$j>$i;$j--){

echo" ";}

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

echo "*";}

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

echo "*";}

{
echo "*";
}

echo "<br/>";
}
?>
谁能一步步帮我解答下,最后输出是个三角形。
展开
 我来答
我的宝要
2014-10-09 · TA获得超过162个赞
知道答主
回答量:170
采纳率:0%
帮助的人:46.5万
展开全部

我把你的代码给改了一下,你试试,这样就好理解了,

外面的最大的循环就是I循环,每循环一次是输出一行,

而他里面包含的第一个for循环,也就是J循环,这个循环是个空循环,是不起作用的,

下边的我不解释了,你看图就应该明白了 ,如果还不明白再问我。

重点让你看一下第一个for循环,也就是你未输出的那个循环里输出的东西出现的不同效果。


重点看图,还有我红框框里面的。


<?php

echo "<div style='background:blueviolet;'>";

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

for($j=10;$j>$i;$j--){

echo" ";


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

        echo "<span style='color:red'>*</span>";

}

 

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

 

        echo "<span style='color:blue'>*</span>";

}

{

echo "<span style='color:yellow'>*</span>";

}

  

    echo "<br/>";


}

echo "</div>";

?>

qwqwqqwcom123
2014-10-09 · TA获得超过1163个赞
知道小有建树答主
回答量:256
采纳率:0%
帮助的人:136万
展开全部

三角形

每后行比前一行多2个*

每前一行比后一行多一个空格

最外层for定义总行数

被嵌套的第一个for定义每行的空格数,首空格数为总行数-1,每行空格数依次-1。

被嵌套的第二个和第三个for循环打印*,此处使用规律是每行比前一行多2个*

你的代码写的挺别扭的,我说的也挺别扭的,你自己看看能不能看懂吧。

<?php

function triangle($num){

    for($i = 1; $i<$num;$i++){
    
        for($j=($num-1);$j>$i;$j--){
            echo "&nbsp;";
        }
    
        for($a = 1; $a <= ($i*2-1);$a++){
            echo "*";
        }
    
        echo "<br/>";
    }
    
}

triangle(10);

?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-10-09
展开全部
因为echo" "是不会输出空格的,必须使用echo"&空格nbsp"才行 没有那个空格,妈的百度过滤都不过滤
至于为什么是三角新

<?php
for($i = 1; $i<10;$i++){
for($j=10;$j>$i;$j--){echo" ";}
for($a = 1; $a < $i;$a++){echo "*";}
for($a = 1; $a < $i;$a++){echo "*";}{echo "*";}
echo "<br/>";
}
?>
因为里面3个for循环都是嵌套在外面那个for循环中的
追问
我知道他在大for里循环。。。问题是怎么循环了。。步骤是咋样啊
追答
最外层 的for是执行9次啊,然后内层的空格输出数量从9,每次循环减少一次,

星数量的输出从
{echo "*";}一颗星
,通过另外两个for循环,每行输出的星数量加2
for($a = 1; $a ";就是换行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忧郁个屁
2014-10-09 · 超过10用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:17万
展开全部
代码可以简化:<?php
for($i = 1; $i<10;$i++){

for($a = 1; $a < $i;$a++){
echo "*";
}
echo "*";
echo "<br/>";
}
?>
外面那个for循环是总共有几行,里面那个for循环是当前行有多少个*+1个*
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式