shell脚本使用while语句打印四行四列五角星
时间: 2023-11-15 09:01:54 浏览: 164
可以使用以下Shell脚本来打印四行四列五角星:
```
#!/bin/bash
i=1
while [ $i -le 4 ]
do
j=1
while [ $j -le 4 ]
do
echo " * "
echo " * * "
echo "* *"
echo " * * "
echo " * "
j=$((j+1))
done
i=$((i+1))
done
```
这个脚本使用了两个while循环,外循环控制行数,内循环控制列数。在内循环中,我们使用echo语句打印五角星的每一行。注意,我们在每一行前面添加了一些空格,以便使五角星在输出时居中。
相关问题
使用shell脚本打印四行四列五角星
要使用shell脚本打印四行四列五角星,可以参考以下代码:
```
#!/bin/bash
# 打印五角星
for ((i=1;i<=4;i++))
do
for ((j=1;j<=4;j++))
do
for ((i1=1;i1<6;i1++)) # 这是五角星的上面一个角
do
let c=9-$i1
for ((j1=1;j1<$c;j1++)) # 这是空格
do
echo -n " "
done
let d=2*$i1-1
for ((k1=1;k1<=$d;k1++)) # 这是“*”
do
echo -n "*"
done
echo
done
for ((i2=1;i2<3;i2++)) # 这是中间与下部相接的部分
do
let g=6-$i2
for ((j3=1;j3<$g;j3++))
do
echo -n " "
done
let h=6+2*$i2
for ((k3=1;k3<=$h;k3++))
do
echo -n "*"
done
echo
done
for ((i4=1;i4<3;i4++)) # 这是五角星的下面两个角
do
let o=5-$i4
for ((j4=1;j4<$o;j4++))
do
echo -n " "
done
let p=5-2*$i4
for ((k4=1;k4<=$p;k4++))
do
echo -n "*"
done
let q=6*$i4-3
for ((m4=1;m4<$q;m4++))
do
echo -n " "
done
for ((n4=1;n4<=$p;n4++))
do
echo -n "*"
done
echo
done
echo " * *" # 盖上角
done
done
```
编写shell脚本,要求使用while语句打印一个4行4列的星形图形
可以使用 `while` 循环语句来打印一个4行4列的星形图形,下面是一个简单的示例:
```shell
#!/bin/bash
# 初始化变量
i=1
j=1
while [ $i -le 4 ]
do
j=1
while [ $j -le 4 ]
do
if [ $i -eq $j ] || [ $i -eq 5-$j ]; then
echo -n "* "
else
echo -n " "
fi
let "j++"
done
echo ""
let "i++"
done
```
在这个脚本中,我们使用两层嵌套的 `while` 循环语句,外层循环控制行数,内层循环控制列数。在内层循环中,使用条件语句判断当前位置是否应该输出星号,如果是则输出 `*`,否则输出空格。最后在每次外层循环结束时,使用 `echo` 命令输出一个换行符,以便输出下一行。