题目要求
编写脚本,实现根据用户输入的高来打印等腰三角形,使用 ♥ 组成等腰三角形的边,并分别在本地和云端成功运行。
运行截图
编程平台
本地
本地操作系统:Windows 10
本地虚拟机运行平台:VMware Workstation Pro 14
本地虚拟机镜像:CentOS-7-x86_64-Minimal-1908.iso
云端
云服务器提供商:阿里云计算有限公司
Linux发行版本及版本号:CentOS 7.6 64位
代码实现
#! /bin/bash
read -p "请输入要打印的等腰三角形高度: " height
for i in `seq 1 $height` # 高度等于要输出的行数
do
spaces=`expr $height - $i` # 本行第一个 ♥ 之前的空格数
for ((j=0;j<$spaces;j++))
do
echo -n " "
done
let signs=$i*2-1 # 本行还需输出的符号(空格+ ♥ )总数
for k in `seq 1 $signs`
do
if [ $i -eq $height -a `expr $k % 2` -eq 1 ];then # 本行为最后一行时,其奇数位的字符为 ♥
echo -n "♥"
elif [ $k -eq 1 -o $k -eq $signs ];then # 本行还需输出的第一个字符和最后一个字符都为 ♥
echo -n "♥"
else
echo -n " "
fi
done
echo -e # 起到换行的作用
done
如果文章内容出错或者您有更好的解决方法,欢迎到评论区指正和讨论!