算法(用九九乘法表写出菱形,阶乘)

$arr = array(0=>1,'aa'=>2, 3, 4);

foreach($arr as $key=> $val)
{

    print_r($key =='aa' ? 5 : $val);

}

考查:类型转换。 因遍历数组第一次的时候,$key和aa的比较实际就是0和aa的比较,一个是int一个是string,这个时候会转换类型,将字符串转换为数字再与数字比较。所以0=='aa'就是0==0,所以为true,也就是输出5。

阶乘:

 

//递归
function fun($n){

if($n==1){

return $n;

}else{

return $n*fun($n-1);

}

}

$n=5;

echo $n."的阶乘是".fun($n);

echo "</br></br>";

//非递归

$num=10;

$sum=1;

for($i=$num;$i>0;$i--){

$sum=$sum*$i;

}

echo $num."的阶乘是".$sum;

交换两个变量的值 不使用第三方变量:

$a=1;

$b=4;

$a=$a^$b;

$b=$a^$b;

$a=$a^$b;

echo $a.$b;

两个有顺序的数组 将其合并 并排序 不使用函数:



$arr=array(2,4,6,8,10,12,16);

$b=array(1,3,5,7,9,11,20,21);

//合并数组

foreach($b as $key=>$val){

$arr[]=$val;

}

//冒泡排序

for($i=0;$i<count($arr);$i++){

for($j=$i+1;$j<count($arr);$j++){

if($arr[$i]>=$arr[$j]){

$new=$arr[$j];

$arr[$j]=$arr[$i];

$arr[$i]=$new;

}

}

}

print_r($arr);

用九九乘法表写出菱形

echo "<table width='600' border='1' style='float: left;'>";

for($j=1;$j<=9;$j++){

echo "<tr>";

for($z=0;$z<9-$j;$z++){

echo "<td> </td>";

}

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

echo "<td>{$i}*{$j}=".($i*$j)."</td>";

}

echo "</tr>";

}

echo "</table>";

echo "<table width='600' border='1'>";

for($j=1;$j<=9;$j++){

echo "<tr>";

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

echo "<td>{$i}*{$j}=".($i*$j)."</td>";

}

echo "</tr>";

}

echo "</table>";

echo "<table width='600' border='1' style='float: left;'>";

for($j=9;$j>=1;$j--) {

echo "<tr>";

for ($z = 0; $z < 9 - $j; $z++) {

echo "<td> </td>";

}

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

echo "<td>{$i}*{$j}=" . ($i * $j) . "</td>";

}

}

echo "</table>";

echo "<table width='600' border='1'>";

for($j=9;$j>=1;$j--){

echo "<tr>";

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

echo "<td>{$i}*{$j}=".($i*$j)."</td>";

}

echo "</tr>";

}

echo "</table>";

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值