新手求助,怎样通过shell scripts用*绘制圆形
发表于 : 2011-10-14 22:08
本人小白,这几天准备学习一下shell scripts,无意间弄了个C语言的绘圆程序,看似简单,随即想通过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;
}
代码: 全选
#!/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
代码: 全选
(standard_in) 1: parse error