PHP练习题(一)

时间:2023-03-09 07:10:35
PHP练习题(一)

程序1 .
题目: 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10% ; 利润高于10 万元, 低于20 万元时, 低于10万元的部分按10% 提成,高于 10万元的部分,可提成7.5%;20万到40 万之间时,高于20 万元的部分,可提成5%; 高于40 万元的部分, 可提成1%,从键盘输入当月利润I,求应发放奖金总数?(利用if else if)

 $I = 4324128;
$bonus = 0; // 奖金数 if ($I <= 100000) {
$bonus = $I * 1/10;
} else if ($I > 100000 && $I < 200000) {
$bonus = $I % 100000 * 7.5/100 + ($I - $I % 100000) * 1/10;
} else if ($I >= 200000 && $I < 400000) {
$bonus = ($I - 200000) * 5/100 + ($I % 100000 * 7.5/100) + ($I - $I % 100000) * 1/10;
} else {
$bonus = ($I - 400000) * 1/100 + ($I - 200000) * 5/100 + ($I % 100000 * 7.5/100) + ($I - $I % 100000) * 1/10;
} echo 'bonus :' . $bonus.'<br/>';

程序2.
题目: 输入三个整数x, y, z, 找出最大的数;

 $x = 4;
$y = 7;
$z = 2; $max = $x>$y ? $x : $y;
$max = $z>$max ? $z : $max; echo 'max number :' . $max .'<br/>';

程序3.
题目: 打印出所有的“水仙花数”, 所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

 $j = 0; // 数的个位
$k = 0; // 数的十位
$l = 0; // 数的百位
for($i = 100; $i<1000; $i++){
$j = $i % 10;
$k = ($i % 100 - $j) / 10;
$l = ($i - $i % 100) / 100;
if ($i == ($j*$j*$j + $k*$k*$k + $l*$l*$l)) {
echo $i . ' ';
}
}

程序4.
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,只剩下一个桃子了。求第一天共摘了多少。 (采用逆向思维,从后往前推)

 $sum = 1;
for ($i = 1; $i <= 10; $i++) {
$sum = ($sum + 1) * 2;
}
echo '桃子总数:' .$sum. '<br/>';

程序5.
题目: 有一分数序列: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13...求出这个数列的前20项之和。(注意分子和分母的变化规律)

 $sum2 = 0;
$a = 2;
$b = 1;
for($i = 1; $i <= 20; $i++) {
$sum2 = $sum2 + $a/$b;
$b = $a;
$a += $b;
}
echo '前20项之和为:' .$sum2.'<br/>';