作业要求

数组

函数

代码实现

懒得整理,直接贴代码上来了

函数部分:

<?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">&nbsp;&nbsp;&nbsp;&nbsp;'.$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();

效果:

Last modification:July 12th, 2020 at 01:10 am