iwillsowill 发表于 2022-10-31 20:12:42

大佬们,一元二次方程怎么求解???

一元二次方程ax2+bx+c=0,a、b、c的值由用户在三行中输入,根据用户输入的数值求解方程的实数解:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

如果a值 为0,根据b值判断方程是否有解并输出,如果a与b同时为0,则输出Data error!‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

如果方程无实数解,输出“该方程无实数解”;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

如果方程有两个相同的实数解,输出一个解,结果保留2位小数;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

如果方程有两个不同的实数解,在一行内按从大到小顺序输出方程的两个解,用空格分隔,结果保留2位小数。

tommyyu 发表于 2022-10-31 20:12:43

a, b, c = int(input()), int(input()), int(input())
if a == 0:
    if b == 0:
      print('Data error!')
    else:
      print('{:.2f}'.format(-c/b))
else:
    temp = b*b - 4*a*c
    if temp < 0:
      print('该方程无实数解!')
    elif temp == 0:
      print('{:.2f}'.format(-b/(2*a)))
    else:
      print('{:.2f} {:.2f}'.format( (-b-temp**0.5)/(2*a), (-b+temp**0.5)/(2*a) ))

iwillsowill 发表于 2022-10-31 20:14:09

这个有点乱码,看文字就好了。{:5_106:}

阿奇_o 发表于 2022-10-31 21:45:41

你代码呢? 一点思路都没?

难道要我猜你 是不是初中没毕业? 是不是百度也不会用?{:10_257:}

cflying 发表于 2022-11-1 17:11:22

电脑只不过是按逻辑来自动化运算而已,解题逻辑电脑自己也不知道呢
页: [1]
查看完整版本: 大佬们,一元二次方程怎么求解???