题目描述:
解一元二次方程ax^2+bx+c=0的解。
a,b,c的值。
输出两个解,按照大小顺序输出,一个解时需要打印两次,不用考虑无解问题,保留两位小数
1 5 -2
样例输出:
0.37 -5.37
代码实现:
#include <stdio.h> #include <math.h> int main() { double a, b, c, x1, x2, d; scanf("%lf%lf%lf", &a, &b, &c); d = b*b - 4*a*c;//d为判别式德尔塔 if(d == 0)//判别式为0的情况,两根相等 { x1 = x2 = -b/(2*a); } else//其他情况,用求根公式求出x1,x2 { x1 = (-b + sqrt(d)) / (2*a); x2 = (-b - sqrt(d)) / (2*a); } double temp; if(x1 < x2)//交换操作,保证了x1这个变量始终是两数之中较大的那个 { temp = x1; x1 = x2; x2 = temp; } printf("%.2lf %.2lf", x1, x2); return 0; }
0.0分
2 人评分
C二级辅导-计负均正 (C语言代码)浏览:575 |
A+B for Input-Output Practice (III) (C语言代码)浏览:569 |
三角形 (C语言代码)浏览:902 |
数组与指针的问题浏览:715 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:678 |
C二级辅导-分段函数 (C语言代码)浏览:593 |
前10名 (C语言代码)浏览:725 |
简单的a+b (C语言代码)浏览:460 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:503 |
盐水的故事 (C语言代码)浏览:1523 |