PHP练习题(一)
程序1 .
题目: 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10% ; 利润高于10 万元, 低于20 万元时, 低于10万元的部分按10% 提成,高于 10万元的部分,可提成7.5%;20万到40 万之间时,高于20 万元的部分,可提成5%; 高于40 万元的部分, 可提成1%,从键盘输入当月利润I,求应发放奖金总数?(利用if else if)
1 $I = 4324128; 2 $bonus = 0; // 奖金数 3 4 if ($I <= 100000) { 5 $bonus = $I * 1/10; 6 } else if ($I > 100000 && $I < 200000) { 7 $bonus = $I % 100000 * 7.5/100 + ($I - $I % 100000) * 1/10; 8 } else if ($I >= 200000 && $I < 400000) { 9 $bonus = ($I - 200000) * 5/100 + ($I % 100000 * 7.5/100) + ($I - $I % 100000) * 1/10; 10 } else { 11 $bonus = ($I - 400000) * 1/100 + ($I - 200000) * 5/100 + ($I % 100000 * 7.5/100) + ($I - $I % 100000) * 1/10; 12 } 13 14 echo 'bonus :' . $bonus.'<br/>';
程序2.
题目: 输入三个整数x, y, z, 找出最大的数;
1 $x = 4; 2 $y = 7; 3 $z = 2; 4 5 $max = $x>$y ? $x : $y; 6 $max = $z>$max ? $z : $max; 7 8 echo 'max number :' . $max .'<br/>';
程序3.
题目: 打印出所有的“水仙花数”, 所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
1 $j = 0; // 数的个位 2 $k = 0; // 数的十位 3 $l = 0; // 数的百位 4 for($i = 100; $i<1000; $i++){ 5 $j = $i % 10; 6 $k = ($i % 100 - $j) / 10; 7 $l = ($i - $i % 100) / 100; 8 if ($i == ($j*$j*$j + $k*$k*$k + $l*$l*$l)) { 9 echo $i . ' '; 10 } 11 }
程序4.
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,只剩下一个桃子了。求第一天共摘了多少。 (采用逆向思维,从后往前推)
1 $sum = 1; 2 for ($i = 1; $i <= 10; $i++) { 3 $sum = ($sum + 1) * 2; 4 } 5 echo '桃子总数:' .$sum. '<br/>';
程序5.
题目: 有一分数序列: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13...求出这个数列的前20项之和。(注意分子和分母的变化规律)
1 $sum2 = 0; 2 $a = 2; 3 $b = 1; 4 for($i = 1; $i <= 20; $i++) { 5 $sum2 = $sum2 + $a/$b; 6 $b = $a; 7 $a += $b; 8 } 9 echo '前20项之和为:' .$sum2.'<br/>';