📅  最后修改于: 2023-12-03 15:37:36.890000             🧑  作者: Mango
在开发中,我们常常需要打印乘法表,尤其是在学习编程语言的时候,这也是一个非常好的练手项目。
在PHP中,我们可以使用双重for循环来实现打印任意数字的乘法表。下面是一个示例程序:
<?php
/**
* 打印任意数字的乘法表
* @param int $num 乘法表的最大数字
* @return string 返回markdown格式的内容
*/
function printMultiplicationTable($num){
$markdown = ''; // 定义markdown变量
for($i=1; $i<=$num; $i++){
// 每一行的开始
$markdown .= '| '.$i.' |';
for($j=1; $j<=$num; $j++){
// 乘积
$product = $i * $j;
// 表格内格式
$item = sprintf("%03d",$product); // 3位对齐
$markdown .= ' '.$item.' |';
}
// 结束这一行
$markdown .= "\n";
$markdown .= '|---------|';
for($k=1; $k<=$num; $k++){
$markdown .= '-------|';
}
$markdown .= "\n";
}
return $markdown;
}
echo printMultiplicationTable(9); // 输出 9 行的乘法表
上面的程序中,使用了双重for循环来生成乘法表格。函数 printMultiplicationTable
的参数是乘法表的最大数字,可以根据需要自行传入。
本程序的输出将采用 markdown 格式,如下所示:
| 1 | 001 | 002 | 003 | 004 | 005 | 006 | 007 | 008 | 009 | |---------|-------|-------|-------|-------|-------|-------|-------|-------|-------| | 2 | 002 | 004 | 006 | 008 | 010 | 012 | 014 | 016 | 018 | |---------|-------|-------|-------|-------|-------|-------|-------|-------|-------| | 3 | 003 | 006 | 009 | 012 | 015 | 018 | 021 | 024 | 027 | |---------|-------|-------|-------|-------|-------|-------|-------|-------|-------| | 4 | 004 | 008 | 012 | 016 | 020 | 024 | 028 | 032 | 036 | |---------|-------|-------|-------|-------|-------|-------|-------|-------|-------| | 5 | 005 | 010 | 015 | 020 | 025 | 030 | 035 | 040 | 045 | |---------|-------|-------|-------|-------|-------|-------|-------|-------|-------| | 6 | 006 | 012 | 018 | 024 | 030 | 036 | 042 | 048 | 054 | |---------|-------|-------|-------|-------|-------|-------|-------|-------|-------| | 7 | 007 | 014 | 021 | 028 | 035 | 042 | 049 | 056 | 063 | |---------|-------|-------|-------|-------|-------|-------|-------|-------|-------| | 8 | 008 | 016 | 024 | 032 | 040 | 048 | 056 | 064 | 072 | |---------|-------|-------|-------|-------|-------|-------|-------|-------|-------| | 9 | 009 | 018 | 027 | 036 | 045 | 054 | 063 | 072 | 081 | |---------|-------|-------|-------|-------|-------|-------|-------|-------|-------|