我看到题解直接以5作为参数,但我们实际使用时不知道参数是多少,需要通过read去获取参数,在编写时我分为三部分,先输出n-1个空格,然后输出i个“*”,,最后换行,所以输出为空格+星+换行,而不是空格+星+空格。
#获取参数
read n  
for ((i=1;i<=n;i++))
do 
    #打印空格
    for ((j=n-i;j>=1;j--))
    do
        printf " "
    done
    #打印*
    for ((k=1;k<=i;k++))
    do
        printf "* "
    done
    #换行
    printf "\n"
done