7-54 求方程的解 (10 分)


求ax2+bx+c=0方程的實根。a,b,c由鍵盤輸入. 解方程要考慮系數a等於零的情況。a等於零有兩種情況(b==0,b!=0),a不等於零有三種情況(delta>0、==0、<0),先計算得到根x1、x2,再輸出

輸入格式:

輸入三個數a,b,c。

輸出格式:

輸出方程的實根(保留兩位小數),如果方程有1個實根,則輸出根;如果方程有2個不等實根,則一起輸出(使用空格分開),先輸出較大根,后輸出較小根。 其余情況(如無實根等)則輸出No。

輸入樣例:

1 -3 2

輸出樣例:

2.00 1.00
import math
a,b,c=map(int,input().split())#求ax2+bx+c=0方程的實根。a,b,c由鍵盤輸入.

d = (b**2)-(4*a*c)


if a == 0:#解方程要考慮系數a等於零的情況
    if b!=0:
        print('{:.2f}'.format(-(c/b)))
    elif b==0:
        print('No')

        

elif a != 0:
    if d>0:
        x1=((-b+math.sqrt(d))/(2*a))
        x2=((-b-math.sqrt(d))/(2*a))
        if x1>x2:
            print('%.2f'%(x1),end=' ')
            print('%.2f'%(x2))
        elif x1<x2:
            print('%.2f'%(x2),end=' ')
            print('%.2f'%(x1))
    elif d==0:
        print('{:.2f}'.format((-b-math.sqrt(b**2-4*a*c))/(2*a)))
    elif d<0 :
        print('No')

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM