<?php
function sanjiao($hang){
for($i=1;$i<=$hang;$i++){
for($k=1;$k<=$hang-$i;$k++){
echo " ";//空格用 表示
}//此for循环输出每行前面的空格
for($j=1;$j<=$i;$j++){
$sj[$i][1]=1;//每行第一个为1
if ($i==$j)
$sj[$i][$j]=1;//每行最后一个为1
else
$sj[$i][$j]=$sj[$i-1][$j-1]+$sj[$i-1][$j];
echo $sj[$i][$j];
echo " ";//每输出一个数跟着输出两个空格来形成金字塔
}//此循环输出数字
echo "<br>";
}
}
sanjiao(5);
?>
最后输出的结果是: 1
Notice: Undefined offset: 0 in D:\wamp\www\1\file.php on line 13
1 1
Notice: Undefined offset: 0 in D:\wamp\www\1\file.php on line 13
1 2 1
Notice: Undefined offset: 0 in D:\wamp\www\1\file.php on line 13
1 3 3 1 Notice: Undefined offset: 0 in D:\wamp\www\1\file.php on line 13
1 4 6 4 1
这个怎么搞的??
$sj[$i][$j]=$sj[$i-1][$j-1]+$sj[$i-1][$j];//这是如果$i或$j是1的话,减去1后就是0,而$sj这个数组中是没有设置下标为0元素的,故会出现notice可以将else语句改为elseif ($i!=1 and $j!=1)
$sj[$i][$j]=$sj[$i-1][$j-1]+$sj[$i-1][$j];
function bio($n, $k) {
if($k == 1 || $n == $k)
return 1;
return bio($n-1, $k) + bio($n-1, $k-1);
}
function yanghui($row=5)
{
for($i = 1; $i < $row+1; ++$i) {
for($j = 1; $j <= $i; ++$j)
echo bio($i, $j)." ";
echo "<br />";
}
}
yanghui(5);//输出5行 ;
?>