20:求一元二次方程的根
原题链接
- 总时间限制:
- 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:求一元二次方程的根相关推荐
- OpenJudge NOI 1.4 20:求一元二次方程的根
[题目链接] OpenJudge NOI 1.4 20:求一元二次方程的根 [题目考点] 1. 一元二次方程求根 包括求实根与虚根 2. if-else if-else语句 3. 浮点数比较 [解题思 ...
- 7-157 求一元二次方程的根 (20 分)
7-157 求一元二次方程的根 (20 分) 本题目要求一元二次方程ax2+bx+c=0的根,结果保留2位小数. 输入格式: 输入在一行中给出3个浮点系数a.b.c,中间用空格分开. 输出格式: 根据 ...
- 实验3-1 求一元二次方程的根 (20 分)
实验3-1 求一元二次方程的根 (20 分) 本题目要求一元二次方程ax^2+bx+c=0的根,结果保留2位小数. 输入格式: 输入在一行中给出3个浮点系数a.b.c,中间用空格分开. 输出格式: 根 ...
- 7-1 求一元二次方程的根 (20 分)
7-1 求一元二次方程的根 (20 分) #include "stdafx.h" #include "math.h" int _tmain(int argc, ...
- C语言小白初试 7-1 求一元二次方程的根 (20 分)
7-1 求一元二次方程的根 (20 分) 本题目要求一元二次方程的根,结果保留2位小数. 输入格式: 输入在一行中给出3个浮点系数a.b.c,中间用空格分开. 输出格式: 根据系数情况,输出不同结果: ...
- 计算概论(A)/基础编程练习1(8题)/4:求一元二次方程的根
1 #include<stdio.h> 2 #include<math.h> 3 int main() { 4 // 待解方程数目 5 int n; 6 scanf(" ...
- 例题(8.3) 求一元二次方程的根 (1051)
题目 - 例题(8.3) 求一元二次方程的根 (1051) 来源 计算概论05 描述 利用公式 x1 = (-b + sqrt(b*b-4*a*c))/(2*a) x2 = (-b - sqr ...
- c语言学习-求一元二次方程的根
求一元二次方程的根 程序流程图: 代码: #include<stdio.h> #include<math.h> void main() {float a,b,c,s,x1,x2 ...
- Python 求一元二次方程的根(包括虚根)
如图所示,求一元二次方程的根(包括虚根),代码如下: import math a = float(input()) b = float(input()) c = float(input()) delt ...
最新文章
- eclipse java调用c 代码吗_linux下通过eclipse开发用java调用c程序的方法
- 安卓和ios抓包神器
- neo4j安装_基于Neo4j的知乎关系爬虫
- UNITY2018.3 在editor下运行时new memoryprofiler显示 shader占用内存很大的问题在安卓上并没有看到...
- SAP C4C url Mashup的跳转工作原理 - 新的浏览器窗口是如何打开的
- 罗马数字转整数Python解法
- 每一个程序员都是自学成才?
- 96.2. Yum 安装
- 滚动时间选择器recyclerview_Android自定义可循环的滚动选择器CycleWheelView
- easyuI企业管理系统-实战四 上传图片
- 华为机试HJ2:计算某字母出现次数
- 联网玩具CloudPets 泰迪熊泄漏数百万语音信息
- 云盘万能钥匙插件(无需输入网盘提取密码)
- Firefox,IE5,IE6,IE5.5等浏览器兼容性解决方法
- excel数据库_标签打印软件中Excel数据整理及导入
- Airtest自动化测试——批量执行脚本(实测)
- 谷歌浏览器(Google Chrome)清除密码等缓存记录
- 如何做好项目管理,实现高效的项目管理?
- 【已解决】MySQL 服务正在启动 MySQL 服务无法启动
- vs2015编译基于obs-studio的阿里巴巴直播工具tblive
热门文章
- sub2ind函数用法 MATLAB
- IDEA使用Database连接数据库
- (转)c++对象内存分析4
- 如何实现mysql千万级数据库插入速度和读取速度
- SQL Server制定计划,定时执行存储过程
- 记vue中如何使用better-scroll滚动插件
- 【lammps案例教学+ReaxFF力场开发应用】
- android俄语资源目录,Liveclasses Yan Bazhenov产品主题目录拍摄拍摄专业产品中文字幕...
- BP神经网络非线性函数拟合
- 【Unity】使Cinemachine立即完成Damp、当前Blend和即将发生的Blend