热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用for循环构建标准等腰三角形

通过使用`for`循环,可以构建一个标准的等腰三角形。具体来说,每层的星号数量为`2*i-1`,而空格的数量则为`(n-i)*2`,其中`n`是总层数,`i`是当前层的索引。通过合理地控制星号和空格的数量,可以确保生成的三角形在视觉上是标准且对称的。例如,对于一个4层的等腰三角形,第一层有1个星号和6个空格,第二层有3个星号和4个空格,依此类推。这种算法不仅简单高效,而且易于实现。

正等腰三角形

/*
层数i 星星数 空格数 循环层i
* 1 1 6
* * * 2 3 4
* * * * * 3 5 2
* * * * * * * 4 7 0
星星数: 2*i-1
空格数: (n-i)*2
*/
$n = 4;
for ($i=1; $i<=$n; $i++) { //确定层数
for ($j=1; $j<=$n-$i; $j++) { //每层输出空格数
echo " ";
}
for ($j=1; $j<=2*$i-1; $j++) { //每层的星星数
echo "*";
}
echo "\n"; //每层输出完后换行
}

技术分享图片


空心正等腰三角形


/* 空格
* 6
* * 4
* * 2
* * * * * * * 0
*/
for ($i=1; $i<=$n; $i++) {

for ($j=1; $j<=2*($n-$i); $j++) {

echo " ";
}
for ($j=1; $j<=2*$i-1; $j++) {

if($i==1 || $i==$n) { //第一行和最后一行,全部输出*

echo "-";

}else {

if($j>1 && $j<2*$i-1) { //中间的输空格
echo " ";
} else {
echo "-"; //两边的输*
}
}


}

echo "\n";
}

实际效果好像不是那么理想,测试java和python也是一样的不理想:
技术分享图片


推荐阅读
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文详细介绍了C++中的构造函数,包括其定义、特点以及如何通过构造函数进行对象的初始化。此外,还探讨了转换构造函数的概念及其在不同情境下的应用,以及如何避免不必要的隐式类型转换。 ... [详细]
  • 本文详细介绍了iOS应用的生命周期,包括各个状态及其转换过程中的关键方法调用。 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 解决Visual Studio Code中PHP Intelephense误报问题
    PHP作为一种高度灵活的编程语言,其代码结构可能导致Intelephense插件在某些情况下报告不必要的错误或警告。自1.3.3版本起,Intelephense引入了多个配置选项,允许用户根据具体的工作环境和编程风格调整这些诊断信息的显示。 ... [详细]
  • 在处理大数据量的SQL分页查询时,通常需要执行两次查询来分别获取数据和总记录数。本文介绍了一种优化方法,通过单次查询同时返回分页数据和总记录数,从而提高查询效率。 ... [详细]
  • 本文通过一个具体的实例,介绍如何利用TensorFlow框架来计算神经网络模型在多分类任务中的Top-K准确率。代码中包含了随机种子设置、模拟预测结果生成、真实标签生成以及准确率计算等步骤。 ... [详细]
  • 本文详细探讨了BCTF竞赛中窃密木马题目的解题策略,重点分析了该题目在漏洞挖掘与利用方面的技巧。 ... [详细]
  • 在日常生活中,支付宝已成为不可或缺的支付工具之一。本文将详细介绍如何通过支付宝实现免费提现,帮助用户更好地管理个人财务,避免不必要的手续费支出。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 数据类型--char一、char1.1char占用2个字节char取值范围:【0~65535】char采用unicode编码方式char类型的字面量用单引号括起来char可以存储一 ... [详细]
  • empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!检测一个变量是否是null ... [详细]
  • 嵌套列表的扁平化处理
    本文介绍了一种方法,用于遍历嵌套列表中的每个元素。如果元素是整数,则将其添加到结果数组中;如果元素是一个列表,则递归地遍历这个列表。此方法特别适用于处理复杂数据结构中的嵌套列表。 ... [详细]
  • 1#include2#defineM1000103#defineRGregister4#defineinf0x3f3f3f3f5usingnamespacestd;6boolrev ... [详细]
  • SQL Server 存储过程实践任务(第二部分)
    本文档详细介绍了三个SQL Server存储过程的创建与使用方法,包括统计特定类型客房的入住人数、根据房间号查询客房详情以及删除特定类型的客房记录。 ... [详细]
author-avatar
hya641520
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有