原题链接

总时间限制: 
1000ms 
内存限制: 
65536kB
描述

利用公式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。

输入
输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程ax 2 + bx + c =0的系数。
输出
输出一行,表示方程的解。
若b 2 = 4 * a * c,则两个实根相等,则输出形式为:x1=x2=...。
若b 2 > 4 * a * c,则两个实根不等,则输出形式为:x1=...;x2 = ...,其中x1>x2。
若b 2 < 4 * a * c,则有两个虚根,则输出:x1=实部+虚部i; x2=实部-虚部i,即x1的虚部系数大于等于x2的虚部系数,实部为0时不可省略。实部 = -b / (2*a), 虚部 = sqrt(4*a*c-b*b) / (2*a)

所有实数部分要求精确到小数点后5位,数字、符号之间没有空格。

样例输入
样例输入1
1.0 2.0 8.0样例输入2
1 0 1
样例输出
样例输出1
x1=-1.00000+2.64575i;x2=-1.00000-2.64575i样例输出2
x1=0.00000+1.00000i;x2=0.00000-1.00000i

源码

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{double a, b, c, x1, x2, bb, fourac, twoa;cin >> a >> b >> c;bb = b*b;fourac = 4*a*c;twoa = -b/(a*2);if (b == 0) twoa = 0;if (bb == fourac) {cout << fixed << setprecision(5) << "x1=x2=" << twoa << endl;}else if (bb > fourac) {x1 =  (-b + sqrt(b*b-4*a*c))/(2*a);x2 =  (-b - sqrt(b*b-4*a*c))/(2*a);cout << fixed << setprecision(5) << "x1=" << x1 << ";x2="<< fixed << setprecision(5)<< x2 << endl;}else {cout << fixed << setprecision(5) << "x1=" << twoa << "+"<< fixed << setprecision(5)<< sqrt(fourac-bb)/(a*2) << "i;x2="<< fixed << setprecision(5) << twoa << "-"<< fixed << setprecision(5) << sqrt(fourac-bb)/(a*2) << "i" << endl;}return 0;
}

20:求一元二次方程的根相关推荐

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

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

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

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

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

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

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

    7-1 求一元二次方程的根 (20 分) #include "stdafx.h" #include "math.h" int _tmain(int argc, ...

  5. C语言小白初试 7-1 求一元二次方程的根 (20 分)

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

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

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

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

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

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

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

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

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

最新文章

  1. eclipse java调用c 代码吗_linux下通过eclipse开发用java调用c程序的方法
  2. 安卓和ios抓包神器
  3. neo4j安装_基于Neo4j的知乎关系爬虫
  4. UNITY2018.3 在editor下运行时new memoryprofiler显示 shader占用内存很大的问题在安卓上并没有看到...
  5. SAP C4C url Mashup的跳转工作原理 - 新的浏览器窗口是如何打开的
  6. 罗马数字转整数Python解法
  7. 每一个程序员都是自学成才?
  8. 96.2. Yum 安装
  9. 滚动时间选择器recyclerview_Android自定义可循环的滚动选择器CycleWheelView
  10. easyuI企业管理系统-实战四 上传图片
  11. 华为机试HJ2:计算某字母出现次数
  12. 联网玩具CloudPets 泰迪熊泄漏数百万语音信息
  13. 云盘万能钥匙插件(无需输入网盘提取密码)
  14. Firefox,IE5,IE6,IE5.5等浏览器兼容性解决方法
  15. excel数据库_标签打印软件中Excel数据整理及导入
  16. Airtest自动化测试——批量执行脚本(实测)
  17. 谷歌浏览器(Google Chrome)清除密码等缓存记录
  18. 如何做好项目管理,实现高效的项目管理?
  19. 【已解决】MySQL 服务正在启动 MySQL 服务无法启动
  20. vs2015编译基于obs-studio的阿里巴巴直播工具tblive

热门文章

  1. sub2ind函数用法 MATLAB
  2. IDEA使用Database连接数据库
  3. (转)c++对象内存分析4
  4. 如何实现mysql千万级数据库插入速度和读取速度
  5. SQL Server制定计划,定时执行存储过程
  6. 记vue中如何使用better-scroll滚动插件
  7. 【lammps案例教学+ReaxFF力场开发应用】
  8. android俄语资源目录,Liveclasses Yan Bazhenov产品主题目录拍摄拍摄专业产品中文字幕...
  9. BP神经网络非线性函数拟合
  10. 【Unity】使Cinemachine立即完成Damp、当前Blend和即将发生的Blend