linux(ubuntu)shell编程 一元二次方程

read -p "a=" a
read -p "b=" b
read -p "c=" c
gen=$((b*b-(4*a*c)))
echo 'gen=' $gen
if [ $gen -gt 0 ]
then 
    d=$(echo "scale=2; sqrt($gen)" | bc -l)
    e1=$(echo "scale=2;  ($d - $b) " | bc -l)
    x1=$(echo "scale=2; ($e1 / (2 * $a))" | bc -l)
    e2=$(echo "scale=2;  (- ($d + $b)) " | bc -l)
    x2=$(echo "scale=2; ($e2 / (2 * $a))" | bc -l)
    echo "x1=" $x1 "x2=" $x2
    
elif [ $gen -eq 0 ]
then
    x=$(echo "scale=2; (-($b/(2*$a)))" | bc -l)
    echo "x1=x2=" $x

elif [ $gen -lt 0 ]
then
    echo "无实根"
fi

 

第一个 if   △(程序内是 gen ) 是否大于0的情况

第二个 if  △(程序内是 gen ) 是否等于0的情况

第三个 if  △(程序内是 gen ) 是否小于0的情况

if 后面的表达式中必需用空格将各项隔开

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值