Appearance
6.8 实操:循环打印、数字判断
本实操将使用循环语句实现循环打印和数字判断功能。
功能需求
- 实现循环打印图案
- 实现数字判断功能
实现代码
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>";
?>代码解析
循环打印图案:
- 使用嵌套for循环控制行和列
- 直角三角形:每行打印与行数相同数量的星号
- 倒直角三角形:从5行开始,每行减少一个星号
- 等腰三角形:先打印空格,再打印星号
- 九九乘法表:使用嵌套循环计算并打印乘法结果
数字判断:
- 判断正负:使用if-elseif-else语句
- 判断奇偶:使用取模运算符
- 判断质数:使用函数和循环
- 计算位数:使用strlen函数
- 计算各位之和:使用while循环和取模运算符
运行结果
执行上述代码后,会在浏览器中显示各种图案和数字判断结果。
扩展练习
- 打印更复杂的图案,如菱形、正方形等
- 实现一个数字猜谜游戏
- 计算数字的阶乘
