Skip to content

6.8 实操:循环打印、数字判断

本实操将使用循环语句实现循环打印和数字判断功能。

功能需求

  1. 实现循环打印图案
  2. 实现数字判断功能

实现代码

1. 循环打印图案

php
<?php
// 打印直角三角形
echo "直角三角形:<br>";
for ($i = 1; $i <= 5; $i++) {
    for ($j = 1; $j <= $i; $j++) {
        echo "*";
    }
    echo "<br>";
}

// 打印倒直角三角形
echo "<br>倒直角三角形:<br>";
for ($i = 5; $i >= 1; $i--) {
    for ($j = 1; $j <= $i; $j++) {
        echo "*";
    }
    echo "<br>";
}

// 打印等腰三角形
echo "<br>等腰三角形:<br>";
for ($i = 1; $i <= 5; $i++) {
    // 打印空格
    for ($j = 1; $j <= 5 - $i; $j++) {
        echo " ";
    }
    // 打印星号
    for ($k = 1; $k <= 2 * $i - 1; $k++) {
        echo "*";
    }
    echo "<br>";
}

// 打印九九乘法表
echo "<br>九九乘法表:<br>";
for ($row = 1; $row <= 9; $row++) {
    for ($col = 1; $col <= $row; $col++) {
        echo "$col × $row = " . ($col * $row) . "\t";
    }
    echo "<br>";
}
?>

2. 数字判断

php
<?php
// 输入一个数字
$num = 12345;

// 判断是否为正数
if ($num > 0) {
    echo "$num 是正数<br>";
} elseif ($num < 0) {
    echo "$num 是负数<br>";
} else {
    echo "$num 是零<br>";
}

// 判断是否为偶数
if ($num % 2 == 0) {
    echo "$num 是偶数<br>";
} else {
    echo "$num 是奇数<br>";
}

// 判断是否为质数
function isPrime($n) {
    if ($n <= 1) {
        return false;
    }
    for ($i = 2; $i <= sqrt($n); $i++) {
        if ($n % $i == 0) {
            return false;
        }
    }
    return true;
}

if (isPrime($num)) {
    echo "$num 是质数<br>";
} else {
    echo "$num 不是质数<br>";
}

// 计算数字的位数
$digitCount = strlen((string)$num);
echo "$num$digitCount 位数<br>";

// 计算数字的各位之和
$sum = 0;
$temp = $num;
while ($temp > 0) {
    $sum += $temp % 10;
    $temp = floor($temp / 10);
}
echo "$num 的各位之和是 $sum<br>";
?>

代码解析

  1. 循环打印图案

    • 使用嵌套for循环控制行和列
    • 直角三角形:每行打印与行数相同数量的星号
    • 倒直角三角形:从5行开始,每行减少一个星号
    • 等腰三角形:先打印空格,再打印星号
    • 九九乘法表:使用嵌套循环计算并打印乘法结果
  2. 数字判断

    • 判断正负:使用if-elseif-else语句
    • 判断奇偶:使用取模运算符
    • 判断质数:使用函数和循环
    • 计算位数:使用strlen函数
    • 计算各位之和:使用while循环和取模运算符

运行结果

执行上述代码后,会在浏览器中显示各种图案和数字判断结果。

扩展练习

  1. 打印更复杂的图案,如菱形、正方形等
  2. 实现一个数字猜谜游戏
  3. 计算数字的阶乘

© 2026 编程马·菜鸟教程 版权所有