最近,我的考试结束了。我的上一次考试是基于PHP的。我的考试得到了以下问题:
"使用for循环转换以下脚本而不影响输出: - "
<?php
//Convert into for loop
$x = 0;
$count = 10;
do
{
echo ($count. "<BR>");
$count = $count - 2;
$x = $x + $count;
}
while($count < 1)
echo ($x);
?>
请帮助我,因为我的电脑先生不在车站,我真的很困惑。
答案 0 :(得分:0)
好吧,如果我理解得很好,你必须使用“for”循环,而不是“do ... while”,但打印的文本不能改变。
尝试:
$count = 10;
$x = 0;
$firstRun = true;
for(; $count > 1 || $firstRun;) {
$firstRun = false;
echo ($count . "<BR>");
$count -= 2;
$x = $x + $count;
}
echo ($x);
顺便说一下循环是不必要的,因为在第一个循环之后$ count将大于1,因此while将变为false。
修改
修改
答案 1 :(得分:0)
嗯,我不知道你的老师是否想要拥有你...但是do {}只会执行一次因为$ count永远不会&lt; 1。
教师代码的输出是:
10个
8
我认为代码中有一个错误,而while会是while($ count&gt; 1),这会更有意义(因为要求循环输出只有10 8这是奇怪的)和会导致这个输出:
10个
8
6
4
2
20
然后一个好的for()循环就是:
$x = 0;
$count = 10;
for($i = $count; $i > 1; $i -= 2)
{
$count -= 2;
echo $i . "<br>";
$x += $count;
}
echo $x;
将输出相同的值。 如果可以的话,请向老师询问,并评论答案^^ ahahah