for循环实现正等腰三角形
等腰三角形
/*
层数i 星星数 空格数 循环层i
* 1 1 8
* * * 2 3 6
* * * * * 3 5 4
* * * * * * * 4 7 2
* * * * * * * * * 5 9 0
星星数: 2*i-1
空格数: 2*n+1-2*i-1 = 2(n-i)
*/
$n = 5;
for ($i=1; $i<=$n; $i++) { //确定层数
for ($j=1; $j<=$n-$i; $j++) { //每层输出空格数,因为左右都有空格,所以左右两边都是(n-i)即可
echo " "; //我这里有两个空格
}
for ($j=1; $j<=2*$i-1; $j++) { //每层的星星数
echo "* ";
}
echo "\n"; //每层输出完后换行
}
如果出现三角形斜曲了,这个是字体的原因导致的。
解决方案:可以每层多输出1个空格,星星后面也加一个空格。
空心等腰三角形
/*
* 空格
* * 6
* * 4
* * 2
* * * * * * * * * 0
*/
for ($i=1; $i<=$n; $i++) {
for ($j=1; $j<=$n-$i; $j++) { //输出左侧空格
echo " ";
}
for ($j=1; $j<=2*$i-1; $j++) { //输出星星
if($j==1 || $j==2*$i-1 || $i==$n) { //每行第一个和最后一个输出星星;最后一行也全部输出星星
echo "* ";
}else {
echo " "; //中间的输空格
}
}
echo "\n";
}
页面显示效果可能是这样的:
实际效果看着好像不是那么理想,但其实也是字体原因
可以把输出的结果复制到编辑器里看 就会发现得到下方的等腰三角形:
原文链接:https://www.cnblogs.com/xinxinmifan/p/php_made_triangle.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】