作业要求
数组
函数
代码实现
懒得整理,直接贴代码上来了
函数部分:
<?php
function num_pal_print($number){
if ($number>=10){
echo $number%10==0?'':$number%10;
num_pal_print(intval($number/10));
}else{
echo $number;
}
}
function flower($n){
return (pow(str_split($n)[0],3)+pow(str_split($n)[1],3)+pow(str_split($n)[2],3))==$n?1:0;
}
function search_flowers($num1,$num2){
$i=$num1;
echo $num1.'到'.$num2.'的水仙花数为:';
while ($i!=$num2){
if (flower($i)){
echo $i.' ';
}
$i++;
}
}
function isPrime($num){
$i=2;
while ($i<=sqrt($num)){
if ($num%$i==0){
return 0;
}
$i++;
}
return 1;
}
function max_yin($a,$b){
return $b==0?$a:max_yin($b,$a%$b);
}
function min_bei($a,$b){
return $a*$b/max_yin($a,$b);
}
num_pal_print(1230);
echo '<br>';
search_flowers(100,999);
echo '<br>2到100之间的素数为:';
for ($i=2;$i<100;$i++){
if (isPrime($i))
echo $i.' ';
}
echo '<br>25和5的最大公约数为:';
echo max_yin(25,5);
echo '<br>25和5的最小公倍数为:';
echo min_bei(25,5);
效果:
数组部分
<?php
function arr_init(){
$a=array();
echo '创建的数组为:';
for ($i=0;$i<10;$i++){
$a[$i]=$i+1;
echo $a[$i],' ';
}
echo '<br>';
return $a;
}
function arr_max(array $arr){
$num=$arr[0];
foreach ($arr as $a){
$num=$num>=$a?$num:$a;
}
return $num;
}
function arr_min(array $arr){
$num=$arr[0];
foreach ($arr as $a){
$num=$num<=$a?$num:$a;
}
return $num;
}
function arr_sort(array $arr){
return arr_max($arr)-arr_min($arr);
}
function arr_rra(array $arr){
$rra=array();
for ($i=0;$i<count($arr);$i++){
$rra[$i]=$arr[count($arr)-$i-1];
}
return $rra;
}
function arr_three(){
$categories=array(array(array('CAR_TIR','Tires','100'),
array('CAR_OIL','Oil','10'),
array('CAR_SPK','Spark Plugs','4')
),
array(array('VAN_TIR','Tires','120'),
array('VAN_OIL','Oil','12'),
array('VAN_SPK','Spark Plugs','4')
),
array(array('TRK_TIR','Tires','150'),
array('TRK_OIL','Oil','15'),
array('TRK_SPK','Spark Plugs','6')
)
);
$name=array('Car Parts信息','Van Parts信息','Truck Parts信息');
foreach ($categories as $ca1) {
echo '<p style="font-size: 22px"> '.$name[array_search($ca1,$categories)].'</p><table border="1"><tr>';
echo '<tr style="background: beige"><th>Code</th><th>Description</th><th>Price</th></tr>';
foreach ($ca1 as $ca2) {
foreach ($ca2 as $ca3) {
if (strpos($ca3,'VAN')!==false||strpos($ca3,'CAR')!==false||strpos($ca3,'TRK')!==false){
echo '<td>'.$ca3.'</td>';
}else{
if (strpos($ca3,'1')!==false||strpos($ca3,'4')!==false||strpos($ca3,'6')!==false){
echo '<td>'.$ca3.'</td></tr>';
}else{
echo '<td>'.$ca3.'</td>';
}
}
}
}
echo '<table>';
}
echo '</tr></table>';
}
$arr=arr_init();
$max=arr_max($arr);
echo '数组中的最大元素为:',$max,'<br>';
$sort=arr_sort($arr);
echo '最大数与最小数之差为:',$sort,'<br>';
$rra=arr_rra($arr);
echo '倒序后的数组为:';
foreach ($rra as $key=>$value){
echo 'rra[',$key,']=',$value,' ';
}
echo '<br>';
arr_three();
效果: