AI智能
改变未来

每天一个shell脚本(3)while菱形、直角三角形、等腰三角形

文章目录

  • 菱形
  • 直角三角形
  • 等腰三角形

菱形

#!/bin/bashhigh=1char=1read -p \"请输入要打印的行数:  \" lineblank=$(($line-1))#因为最后一行没有星号,所以将line减一就是第一行的空格数while [ $high -le $line ]#high小于等于line执行,否则不执行,high会逐步累加do#空格循环体blank1=1while [ $blank1 -le $blank ]doecho -n \" \"let blank1++done#字符循环体char1=1while [ $char1 -le $char ]doecho -n \"*\"let char1++doneecho#换行符let high++#每次字符都会增加两个而不是一个let char=$((char+2))#空格会逐步递减let blank--done#因为在上一个while循环是加数以后再进行判断,所以这里高和每行字符数都要减去2high2=$(($high-2))char2=$(($char-2))#因为第一行没有空格,所以空格数为0blank2=0while [ $high2 -ge 0 ]#只要高大于等于0就继续执行do#空各循环体blank3=1while [ $blank3 -le $blank2 ]doecho -n \" \"let blank3++done#字符循环体char3=1while [ $char3 -le $char2 ]doecho -n \"*\"let char3++done#换行符echo#高递减let high2--#每行字符都会递减2let char2=$((char2-2))#空格逐步增加let blank2++done

直角三角形

#!/bin/bash#直角三角形相对于菱形来说比较简单,就是利用高来循环再定义一个字符循环,进行打印就可以了high=1char=1read -p \"请输入直角三角形的高\" linewhile [ $high -le $line ]dochar1=1while [ $char1 -le $char ]doecho -n \"*\"let char1++doneecholet high++let char++done

等腰三角形

#等腰直角三角形就是菱形的上半部分,所有不清楚流程可以看菱形打印的上半部分#!/bin/bashhigh=1char=1read -p \"请输入等腰三角形的高:\" lineblank=$((line-1))while [ $high -le $line ]doblank1=1while [ $blank1 -le $blank ]doecho -n \" \"let blank1++donechar1=1while [ $char1 -le $char ]doecho -n \"*\"let char1++doneecholet high++let char=$((char+2))let blank--done
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 每天一个shell脚本(3)while菱形、直角三角形、等腰三角形