我想要打印的是
1
3 5
7 9 11
使用我当前的代码,即......
<?php
function Odd($limit='20'){
$c = 1;
while($c <= $limit){
if ($c % 2!=0){
echo $c ;
echo "<br/>";
}
$c++ ;
}
}
Print Odd();
?>
我得到了
1
3
五
7
9
11
有人可以指导我正确的方式吗?
答案 0 :(得分:2)
Aaah ......好的。^^现在我明白了。
非常简单:你需要另一个计数的变量和一个限制断裂位置的变量。看起来像这样:
<?php
function Odd($limit='40'){
$c = 1;
$count = 0;
$break = 1;
while($c <= $limit){
if ($c % 2!=0){
echo $c . " ";
$count++;
if($count === $break) {
echo "<br/>";
$break++;
$count = 0;
}
}
$c++ ;
}
}
Print Odd();
?>
输出到40:
1
3 5
7 9 11
13 15 17 19
21 23 25 27 29
31 33 35 37 39
编辑:新请求的代码:
<?php
function Odd($limit='40'){
$c = 1;
$count = 0;
$break = 1;
while($c <= $limit){
echo $c . " ";
$count++;
if($count === $break) {
echo "<br/>";
$break++;
$count = 0;
}
$c++ ;
}
}
Print Odd();
?>
答案 1 :(得分:1)
因此,如果我理解正确,您希望输出类似的内容:
1个
3 5
7 9 11
13 15 17 19
这是我的解决方案:
function Odd($limit='20'){
$c = 1;$some_array = array();
while($c <= $limit){
if ($c % 2!=0){
$some_array[]=$c;
}
$c++ ;
}
return $some_array;
}
$array = Odd();
$nr =0;
$j=1;
foreach ($array as $key => $value) {
echo $value.' ';$nr++;
if($nr==$j){
echo '<br />';
$nr=0;
$j++;
}
}
希望这有帮助!
答案 2 :(得分:0)
从你的问题看,你似乎对编程很陌生,所以在编写任何程序之前首先要正确地观察问题:
例如,对于上面的问题,很明显这是一个奇数的三角形。
现在每行的奇数个数等于该行 即第一行包含1个数字,第二行包含2,它继续......
现在我们要做的是使用一个变量来计算行数,如$ row,另一行为$limit
。
<?php
function odd($limit){
$row=1;
$current_number=1;
while($current_number<=$limit){
for($i=1;$i<=$row;$i++){
echo $current_number." ";
$current_number=$current_number+2;//incrementing numbers by 2 if you want to increment by 1 i.e print all numbers replace 2 by 1
}
$row++;
echo "<br/>";//for new line
}
}
要运行以上功能,您需要调用它并传递$limit
的值。要执行此操作,只需键入此函数之外的任何位置。
odd(20);
观看正在运行的here: