共计 1763 个字符,预计需要花费 5 分钟才能阅读完成。
PHP 每日一练,金字塔:首先,从简单的着手,打印出金字塔的右半部分,代码如下
<?php
$n=5; // 金字塔行数
// 外层的 for 循环控制层数
for($i=1;$i<=$n;$i++){
// 内层的 for 循环控制每层 * 的个数
for($j=1;$j<=$i;$j++){echo"*";}
echo"<br/>"; // 每一层打印完换行
}
?>
然后打印出完整的金字塔,完整的金字塔,在上面的基础下只需要做小小的修改
<?php$n=5; // 金字塔行数 for($i=1;$i<=$n;$i++){ // 在打印 * 之前,先打印空格
for($k=1;$k<=$n-$i;$k++){ echo" ";
} // 内层控制每层 * 的个数
for($j=1;$j<=2*$i-1;$j++){ echo"*";
} echo"<br/>";
}?>
注:把上面的代码复制到 php 文件中,会出现不知名的错误,应该是格式问题,但是代码是正确的。
然后是空心金字塔,代码如下:
<?php
$n=5;
for($i=1;$i<=$n;$i++){ for($k=1;$k<=$n-$i;$k++){
echo" ";
}
// 内层控制每层 * 的个数
for($j=1;$j<=$i*2-1;$j++){
// 第一层和最后一层 * 不变
if($i==1||$i==$n){
echo"*";
}
// 其他层第一个和最后一个位置打印 *,其他位置打印空格
else{ if($j==1||$j==$i*2-1){
echo"*";
}else{
echo" ";
}
}
}
echo"<br/>";
}
echo"<hr/>"
?>
接下来,是菱形
<?php
$n=5;
for($i=1;$i<=$n;$i++){ for($k=1;$k<=$n-$i;$k++){
echo" ";
}
// 内层控制每层 * 的个数
for($j=1;$j<=$i*2-1;$j++){
// 第一层和最后一层 * 不变
if($i==1){
echo"*";
}
// 其他层第一个和最后一个位置打印 *,其他位置打印空格
else{ if($j==1||$j==$i*2-1){
echo"*";
}else{
echo" ";
}
}
}
echo"<br/>";
}
for($i=$n;$i>=1;$i--){ for($k=1;$k<=$n-$i;$k++){
echo" ";
}
// 内层控制每层 * 的个数
for($j=1;$j<=$i*2-1;$j++){
// 第一层和最后一层 * 不变
if($i==1){
echo"*";
}
// 其他层第一个和最后一个位置打印 *,其他位置打印空格
else{ if($j==1||$j==$i*2-1){
echo"*";
}else{
echo" ";
}
}
}
echo"<br/>";
}
?>
注:上述代码在不同的浏览器可能显示有差异
由于是初学 php,如果上述代码有错误之处,还请各位看客指正,谢谢!
正文完