解题思路:
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分
21 人评分
C语言训练-大、小写问题 (C语言代码)浏览:2421 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:724 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:674 |
简单的for循环浏览:1495 |
WU-输入输出格式练习 (C++代码)浏览:1133 |
Wu-求圆的面积 (C++代码)浏览:1994 |
用筛法求之N内的素数。 (C语言代码)浏览:685 |
The 3n + 1 problem (C语言代码)浏览:603 |
a+b浏览:452 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:513 |
NianHua 2024-04-11 15:37:55 |
+1,怎么评的优质啊