h0053. 求一元二次方程的根 (10 分)

简介: h0053. 求一元二次方程的根 (10 分)

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


输入格式:

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


输出格式:

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


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


输入样例:

1. 3
2. 1.0 3.0 1.0
3. 2.0 -4.0 2.0
4. 1.0 2.0 8.0


输出样例:

在这里给出相应的输出。例如:

1. x1=-0.38197;x2=-2.61803
2. x1=x2=1.00000
3. x1=-1.00000+2.64575i;x2=-1.00000-2.64575i


#include<bits/stdc++.h>
using namespace std;
int main()
{
    double a,b,c;
    int n;
    cin>>n;
    while(n--)
    {
        cin>>a>>b>>c;
        double p = b * b - 4 * a * c;
        double x1 = -b / (2 * a);
        if(!x1) x1 = 0;//防止出现 -0 的情况
        if(p > 0) printf("x1=%.5f;x2=%.5f\n",(-b + sqrt(p)) / (2 * a),(-b - sqrt(p)) / (2 * a));
        else if(p == 0) printf("x1=x2=%.5f\n",x1);
        else
        {
            p = -p;
            double y1 = sqrt(p) / (2 * a);
            double y2 = -sqrt(p) / (2 * a);
            printf("x1=%.5f%+.5fi;x2=%.5f%+.5fi\n",x1,y1,x1,y2);
        }
    }
    return 0;
}
目录
相关文章
|
2月前
|
存储 安全 算法
基于UWB和蓝牙Beacon:室内高精度蓝牙定位系统在工厂中的工作原理与应用场景(一)
本文探讨UWB与蓝牙Beacon融合的室内高精度定位方案,结合二者优势,实现低成本、低功耗、高精度的工厂人员与资产定位,助力企业数字化转型与安全生产管理。
|
1月前
|
监控 安全 Linux
RockyLinux服务安全加固指南(从零开始保护你的Linux服务器)
本教程详细介绍RockyLinux服务器的安全加固步骤,涵盖系统更新、禁用root远程登录、防火墙配置、Fail2ban安装及安全监控,帮助用户提升系统安全性,适合初学者快速上手。
|
Oracle 关系型数据库
oracle的start with connect by prior如何使用 整理
oracle的start with connect by prior如何使用 整理
1008 4
|
Java 应用服务中间件 Apache
使用IDEA修改Web项目访问路径,以及解决Apache Tomcat控制台中文乱码问题
本文介绍了在IntelliJ IDEA中修改Web项目访问路径的步骤,包括修改项目、模块、Artifacts的配置,编辑Tomcat服务器设置,以及解决Apache Tomcat控制台中文乱码问题的方法。
1312 0
使用IDEA修改Web项目访问路径,以及解决Apache Tomcat控制台中文乱码问题
|
存储 监控 固态存储
磁盘碎片整理
磁盘碎片整理
488 3
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。
|
传感器 自动驾驶 物联网
5G+物联网:构建智慧城市的新基石
【9月更文挑战第4天】5G+物联网作为构建智慧城市的新基石,正引领着城市管理的智能化变革。随着技术的不断成熟和应用场景的不断拓展,智慧城市将变得更加智能、高效和可持续。然而,我们也应看到,智慧城市的建设还面临着数据安全、隐私保护等挑战。未来,我们需要加强技术创新和法规建设,确保智慧城市在快速发展的同时,也能够保障人民的安全和权益。
|
传感器 编解码 资源调度
聊一聊计算机视觉中的高斯分布
高斯分布,又称正态分布,是概率统计中常见的分布形式。在计算机视觉领域,高斯分布被广泛应用于图像噪声建模、高斯滤波、特征表示、背景建模及高斯核密度估计等方面,是许多图像处理算法的核心。通过高斯分布,可以有效处理噪声、平滑图像、提取特征及建模背景,提升算法性能。
2982 0
|
安全 Ubuntu Linux
6 个受欢迎且好用的轻量级Linux桌面环境
Linux被认为是最安全的系统,但这并不意味着它不受恶意软件或其他安全漏洞的侵害。Linux系统的使用范围非常广泛,因此防范潜在威胁至关重要。在这里,将探索 2024 年适用于 Linux 的最佳防病毒软件。根据评级、功能以及与其他 Linux 发行版的兼容性列出了十款最佳防病毒软件,内容仅供分享,不做其它用途。
4300 1
6 个受欢迎且好用的轻量级Linux桌面环境
|
人工智能 BI API

热门文章

最新文章