利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2 + bx + c =0的根,其中a不等于0。

Input

第一行是待解方程的数目n。 
其余n行每行含三个浮点数a, b, c(它们之间用空格隔开),分别表示方程ax2 + bx + c =0的系数。

Output

输出共有n行,每行是一个方程的根: 
若是两个实根,则输出:x1=...;x2 = ... 
若两个实根相等,则输出:x1=x2=... 
若是两个虚根,则输出:x1=实部+虚部i; x2=实部-虚部i

所有实数部分要求精确到小数点后5位,数字、符号之间没有空格。 
x1和x2的顺序:x1的实部>Re的实部||(x1的实部==x2的实部&&x1的虚部>=x2的虚部)

Sample Input

3
1.0 3.0 1.0
2.0 -4.0 2.0
1.0 2.0 8.0

Sample Output

x1=-0.38197;x2=-2.61803
x1=x2=1.00000
x1=-1.00000+2.64575i;x2=-1.00000-2.64575i

Hint

1、需要严格按照题目描述的顺序求解x1、x2。 
2、方程的根以及其它中间变量用double类型变量表示。 
3、函数sqrt()在头文件math.h中。 
4、要输出浮点数、双精度数小数点后5位数字,可以用下面这种形式:

printf("%.5f", num);

注意,在使用Java做此题时,可能会出现x1或x2等于-0的情形,此时,需要把负号去掉​​​​​​​

#include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;
int main()
{int n;cin>>n;while(n--){double a, b, c;double dt, x;cin>>a>>b>>c;dt = b*b - 4*a*c;x = -b/(2*a);if(fabs(x) == 0)   {x = 0.0;         }if(fabs(dt) ==0)  {printf("x1=x2=%.5lf\n", x);}else{double dx = sqrt(fabs(dt))/(2*a);         if(dt > 0){printf("x1=%.5lf;x2=%.5lf\n", x + dx, x - dx);  }else {printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi\n", x, dx, x, dx); }}}return 0;
}

求一元二次方程的根 OpenJ_Bailian - 2707相关推荐

  1. 计算概论(A)/基础编程练习1(8题)/4:求一元二次方程的根

    1 #include<stdio.h> 2 #include<math.h> 3 int main() { 4 // 待解方程数目 5 int n; 6 scanf(" ...

  2. OpenJudge NOI 1.4 20:求一元二次方程的根

    [题目链接] OpenJudge NOI 1.4 20:求一元二次方程的根 [题目考点] 1. 一元二次方程求根 包括求实根与虚根 2. if-else if-else语句 3. 浮点数比较 [解题思 ...

  3. 7-157 求一元二次方程的根 (20 分)

    7-157 求一元二次方程的根 (20 分) 本题目要求一元二次方程ax2+bx+c=0的根,结果保留2位小数. 输入格式: 输入在一行中给出3个浮点系数a.b.c,中间用空格分开. 输出格式: 根据 ...

  4. c语言学习-求一元二次方程的根

    求一元二次方程的根 程序流程图: 代码: #include<stdio.h> #include<math.h> void main() {float a,b,c,s,x1,x2 ...

  5. 实验3-1 求一元二次方程的根 (20 分)

    实验3-1 求一元二次方程的根 (20 分) 本题目要求一元二次方程ax^2+bx+c=0的根,结果保留2位小数. 输入格式: 输入在一行中给出3个浮点系数a.b.c,中间用空格分开. 输出格式: 根 ...

  6. 例题(8.3) 求一元二次方程的根 (1051)

    题目 - 例题(8.3) 求一元二次方程的根 (1051)   来源 计算概论05 描述 利用公式  x1 = (-b + sqrt(b*b-4*a*c))/(2*a)  x2 = (-b - sqr ...

  7. Python 求一元二次方程的根(包括虚根)

    如图所示,求一元二次方程的根(包括虚根),代码如下: import math a = float(input()) b = float(input()) c = float(input()) delt ...

  8. Java求一元二次方程的根

    求一元二次方程的根. [问题描述]编写程序,从键盘输入三个系数ax2+bx+c=0,计算方程的解并输出.需要考虑方程有虚根.方程有实根.方程是一元一次方程.没有根等.输出方程的解并保留6位小数. im ...

  9. 25268 Problem E 例题3-5 求一元二次方程的根

    问题 E: 例题3-5 求一元二次方程的根 时间限制: 1 Sec  内存限制: 128 MB 题目描述 求一元二次方程ax2+bx+c=0的根,三个系数a, b, c由键盘输入,且a不能为0,且保证 ...

最新文章

  1. 如何改变一个地图的Zoom单位
  2. Cortex-M3 异常中断向量表
  3. python的应用范围有哪些_Python主要应用场景有哪些?
  4. SAP Spartacus 项目执行 yarn build --stats-json 遇到的一些错误消息
  5. php:修改目录下文档权限(777,644 )
  6. SLAM Cartographer(15)位姿图
  7. java操作浏览器_java selenium 操作浏览器实例
  8. 如何安装CocoaPods,以便在Xcode中快速添加第三方库
  9. python教程pdf-python基础教程[高清][中文第2版].pdf
  10. 货币转换python代码_[Python3 练习] 003 货币转换
  11. ubuntu 16.04 蓝牙鼠标 (可连接但是无法使用)
  12. Go框架,库和软件的精选列表
  13. 估值15.59亿,融资15亿,百合网的新三板孤注一掷,局中有局!
  14. outlook客户端 outlook.com邮箱设置方法
  15. php redis 搜索,一步步实现 Redis 搜索引擎
  16. Java线上兼职家教_基于ssh/bs/java/asp.net/php/web的兼职家教网站
  17. 盘点“PayPal黑帮”成员的传奇创业故事
  18. 炉石传说如何修改服务器,《炉石传说》如何去其他服务器玩炉石
  19. 图机器学习-图神经网络
  20. 人机交互课堂分享 手势交互与体感交互

热门文章

  1. Tobii:眼球追踪技术能够提升制造行业安全性
  2. 华为服务器L型滑道安装步骤讲解
  3. 深度学习(3):基于人脸的性别和年龄判断
  4. 自学Web前端的第14天
  5. 什么是php 抽象类
  6. 【Java多线程】(四)线程间通信
  7. echarts 立体柱状图(多个柱状图)
  8. Codeforces Round #739 (Div. 3) ABCDEF1F2 解题思路
  9. 如何评价一个好系统?
  10. Trajectory Similarity Join in Spatial Networks