下面是当行数为5时的情况。
*
***
*****
*******
*********
用linux下的shell编写程序显示下图图案.由输入决定输出多少行
答案:5 悬赏:70
解决时间 2021-12-14 17:57
- 提问者网友:风华是一指流沙
- 2021-12-14 02:22
最佳答案
- 二级知识专家网友:陪伴是最长情的告白
- 2021-12-14 03:21
#/bin/bash
#line 确定需要打印的行数
line=$1
for ((i=1;i<=$line;i++))
do
#m 确定每行需打印的*号数量
#n 确定每行需打印的空格数量
m=$(($i*2-1))
n=$(($line-$i))
for ((j=1;j<=$n;j++))
do
echo -n " "
done
for ((j=1;j<=$m;j++))
do
echo -n "*"
done
# 换行
echo ""
done
#line 确定需要打印的行数
line=$1
for ((i=1;i<=$line;i++))
do
#m 确定每行需打印的*号数量
#n 确定每行需打印的空格数量
m=$(($i*2-1))
n=$(($line-$i))
for ((j=1;j<=$n;j++))
do
echo -n " "
done
for ((j=1;j<=$m;j++))
do
echo -n "*"
done
# 换行
echo ""
done
全部回答
- 1楼网友:为你轻狂半世殇
- 2021-12-14 07:39
这个真的不会了,不好意思
- 2楼网友:苦柚恕我颓废
- 2021-12-14 06:00
#! /bin/sh
#if no number enter,make a warning
if [ $# -eq 0 ]
then echo "Please enter a row number"
read i
else
i=$1
fi
for (( a=1;a<=i;a++ ))
do
for((b=i;b>a;b--))
do
echo -n " "
done
for ((c=1;c<a*2;c++))
do
echo -ne "*"
done
echo -e "\n"
done
运行:
$./tuan1.sh 10
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
- 3楼网友:摧毁过往
- 2021-12-14 05:10
#
- 4楼网友:厭世為王
- 2021-12-14 03:54
#!/bin/sh
i=1
while [ $i -le 5 ] ; do
j=1
while [ $j -le $((5-$i)) ] ; do
echo -n ' '
j=$(($j+1))
done
j=1
while [ $j -le $((2*$i-1)) ] ; do
echo -n x
j=$(($j+1))
done
echo
i=$(($i+1))
done
exit 0
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯