|
这几天准备学习一下shell scripts,无意间弄了个C语言的绘圆程序,看似简单,随即想通过shell scripts来移植一下,顺便练练手,但是屡试屡败,望高手赐教,感激不尽:%
C程序源码:
- #include<stdio.h>
- #include<math.h>
- int main()
- {
- double y;
- int x,m;
- for(y=10;y>=-10;y--)
- {
- m=2.5*sqrt(100-y*y); /*计算行y对应的列坐标m,2.5是屏幕纵横比调节系数因为屏幕的
- 行距大于列距,不进行调节显示出来的将是椭圆*/
- for(x=1;x<30-m;x++)
- printf(" "); /*图形左侧空白控制*/
-
- printf("*"); /*圆的左侧*/
-
- for(;x<30+m;x++)
- printf(" "); /*图形的空心部分控制*/
-
- printf("*\n"); /*圆的右侧*/
- }
- return 0;
- }
复制代码
鄙人移植的shell scripts:
- #!/bin/bash
- for ((y=10;y>=-10;y=y-1))
- do
- m=$(printf "%.f" $(echo "2.5*sqrt(100-y*y)"|bc))
- for ((x=1;x<30-$m;x=x+1))
- do
- printf " "
- done
- printf "*"
- for ((;x<30+$m;x=x+1))
- do
- printf " "
- done
- printf "*\n"
- done
复制代码
好像m值不变,绘制出的是正方形 |
|