废话不多少,直接上图
如图,若我们需要划一个菱形考虑一下内容
1.画多大,这个取决我们自己,可以定义一个变量,这里我们定义为$R
2.因为shell中,画图是从上向下划的,故划图时,y坐标我把它指向下了,这样我们画出来的图和shell打印出来的图就一致了
3.划什么图可以先在纸上画出来,计算出其各个点的坐标,两点一线算出函数关系,这些函数关系就是我们shell判断画图的条件
4.shell画图逻辑:y=1时,x++循环到两倍的半径即可(上图的半径为2r),过程中由函数来判断是画*还是画空格
y++循环到2倍的半径 每一个y值,x都循环一遍。
思路想好后,直接上代码
read -p "请输入菱形边长:" R
for ((y=0; y<=$R*2; y++ ))
do
for ((x=0; x<=$R*2; x++))
do
if ((y>=R-x &