用shell语言编程,以*符号输出一个菱形
时间: 2023-05-23 12:01:25 浏览: 64
可以使用以下shell代码来输出一个菱形:
```
#!/bin/bash
read -p "请输入菱形的大小(必须是奇数):" n
m=$((n/2))
for i in $(seq 0 $m); do
for j in $(seq 0 $((m-i))); do echo -n " "; done
for j in $(seq 0 $((2*i))); do echo -n "*"; done
echo ""
done
for i in $(seq $((m-1)) -1 0); do
for j in $(seq 0 $((m-i))); do echo -n " "; done
for j in $(seq 0 $((2*i))); do echo -n "*"; done
echo ""
done
```
该代码会要求用户输入菱形的大小,然后通过两个循环来输出一个菱形。其中,第一个循环用来输出上半部分,第二个循环用来输出下半部分。
相关问题
shell输出一个空心菱形
我可以用shell输出一个空心菱形: # 使用for循环输出空心菱形for ((i=1; i<=6; i++))
do
for ((j=1; j<=6-i; j++))
do
echo -n " "
done
for ((k=1; k<=2*i-1; k++))
do
if [[ $k -eq 1 || $k -eq 2*i-1 ]]
then
echo -n "*"
else
echo -n " "
fi
done
echo
done
for ((i=5; i>=1; i--))
do
for ((j=1; j<=6-i; j++))
do
echo -n " "
done
for ((k=1; k<=2*i-1; k++))
do
if [[ $k -eq 1 || $k -eq 2*i-1 ]]
then
echo -n "*"
else
echo -n " "
fi
done
echo
done
用linux shell语言打印平行四边形 九行 每行九个*符号
可以使用以下代码打印平行四边形:
```
for ((i=1;i<=9;i++))
do
for ((j=1;j<=9-i;j++))
do
echo -n " "
done
for ((j=1;j<=9;j++))
do
echo -n "*"
done
echo ""
done
```
输出如下:
```
*********
*********
*********
*********
*********
*********
*********
*********
*********
```