解题思路:
1、使用求根公式,并对公式进行化简
2、分别讨论b²-4ac大于、小于、等于0的情况
3、当b²-4ac小于0时,由于无实数解,需要进行复数格式化(考虑用format进行输出)
注意事项:
需要注意输出格式,保留三位小数,中途不能取舍,如果中途取舍会对结果造成一定误差,只在最终结果进行取舍。
参考代码:
import math while True: try: a, b, c = map(int, input().strip().split()) dert = (b ** 2) - (4 * a * c) if dert > 0: x1 = math.sqrt(dert) / (2 * a) x2 = math.sqrt(dert) / (2 * a) print("x1={:.3f} x2={:.3f}".format((0 - b)+ x1, (0 - b)-x2)) if dert == 0: x1 = math.sqrt(dert) / (2 * a) print("x1={:.3f} x2={:.3f}".format((0 - b)+ x1, (0 - b)-x1)) if dert < 0: x1 = math.sqrt(0 - (((b ** 2) - (4 * a * c)) / (4 * a * a))) x2 = math.sqrt(0 - (((b ** 2) - (4 * a * c)) / (4 * a * a))) print("x1={:.3f}+{:.3f}i x2={:.3f}-{:.3f}i".format((0 - (b / (2 * a))), x1, (0 - (b / (2 * a))), x2)) except: break
0.0分
20 人评分
逆反的01串 (C++代码)(依旧推荐switch)浏览:935 |
C二级辅导-进制转换 (C语言代码)浏览:514 |
陶陶摘苹果 (C语言代码)浏览:1604 |
【回文数(二)】 (C语言代码)浏览:851 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)for循环浏览:1110 |
【亲和数】 (C语言代码)浏览:539 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:543 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:756 |
WU-链表数据求和操作 (C++代码)浏览:1312 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:536 |
NianHua 2024-04-11 15:37:55 |
+1,怎么评的优质啊