php打印倒三角

<?php
for($i=1;$i<=5;$i+=2){
for($k=(5-$i)/2;$k>=1;$k--){
echo "&nbsp;";
}
for($j=$i;$j>=1;$j--){
echo "*";
}
echo "<br>";
}
echo "<hr>";
for($i=5;$i>=1;$i-=2){
for($k=(5-$i)/2;$k>=1;$k--){  //打印空格。
echo "&nbsp;";
}
for($j=$i;$j>=1;$j--){
echo "*";
}
echo "<br>";
}
?>

转载于:https://my.oschina.net/u/141969/blog/609575

### 编程中输出三角形形状 在编程领域,输出三角形是一种常见的练习题目,通常用于帮助学习者掌握循环结构和字符串操作。以下是几种常见语言实现输出三角形的方式。 #### Java 实现输出三角形 Java 中可以通过嵌套 `for` 循环来控制每一行的空格数量和星号 (`*`) 的数量。以下是一个完整的例子: ```java public class Demo3 { /** * 利用循环打印输出一个三角形▲ * 三角形行数自定义 */ public static void main(String[] args) { // 外循环控制行数:5 行 for (int i = 1; i <= 5; i++) { // 打印每行前面的空格 for (int j = 5; j >= i; j--) { System.out.print(" "); } // 打印左半部分的 * for (int a = 1; a <= i; a++) { System.out.print("*"); } // 打印右半部分的 * for (int c = 1; c < i; c++) { System.out.print("*"); } // 换行 System.out.println(); } } } ``` 上述代码通过两层内部循环分别处理左侧和右侧的星号数目,并在外侧加上适当数量的空格以形成等腰三角形[^1]。 --- #### C语言实现杨辉三角形 除了普通的星号三角形之外,在某些情况下还需要输出更复杂的图案,比如 **杨辉三角形**。下面展示了一个基于二维数组存储数据并逐行打印的例子: ```c #include<stdio.h> void main() { int triangle[10][10], i, j; // 初始化杨辉三角 for (i = 0; i < 10; i++) { for (j = 0; j < 10; j++) { if (i == j || j == 0) triangle[i][j] = 1; else triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]; } } // 打印杨辉三角 for (i = 0; i < 10; i++) { for (j = 0; j < 10; j++) if (i >= j) printf("%d\t", triangle[i][j]); printf("\n"); } } ``` 此代码片段展示了如何构建和显示经典的杨辉三角形式[^2]。 --- #### PHP 输出等腰三角形 对于 Web 开发常用的 PHP 而言,也可以轻松完成类似的任务。这里提供了一种方法,它不仅能够生成简单的星号三角形,还扩展到计算几何图形属性的应用场景之中: ```php <?php function drawTriangle($rows) { for ($i = 1; $i <= $rows; $i++) { echo str_repeat(' ', $rows - $i); // 添加前导空白字符 echo str_repeat('*', 2 * $i - 1)."\n"; // 显示当前行所需的星号 } } drawTriangle(5); ?> ``` 该函数接受参数 `$rows` 来指定要创建的三角形的高度,并利用内置函数 `str_repeat()` 自动重复特定次数的字符串[^3]。 --- #### Python 输出倒置或正向数字金字塔 如果目标是从最顶部的一位数字逐渐增加至底部的最大宽度,则可以考虑采用如下方式编写脚本: ```python def print_pyramid(n): for i in range(1, n + 1): line = ''.join([str(x) for x in range(1, i + 1)])[::-1] reversed_line = line[-2::-1] full_line = f"{line}{reversed_line}" padding = ' ' * ((n - i) * 2) print(padding + full_line) print_pyramid(5) ``` 这段逻辑先建立递增序列再反转拼接成最终形态,同时调整左右边距使得整体呈现居中的视觉效果[^4]。 --- ### 总结 不同编程语言各有其特点与优势,但核心思路均围绕着合理安排迭代过程以及精确管理输出格式展开讨论。无论是基础教学还是实际项目开发阶段,这些技巧都具有重要的参考价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值