题目描述:
解一元二次方程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语言训练-求PI* (C语言代码)浏览:883 |
C语言考试练习题_保留字母 (C语言代码)浏览:685 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:689 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:511 |
C语言训练-排序问题<2> (C++代码)浏览:880 |
【亲和数】 (C语言代码)浏览:492 |
【出圈】 (C语言代码)浏览:794 |
用筛法求之N内的素数。 (C语言代码)浏览:1231 |
简单的a+b (C语言代码)浏览:681 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:519 |