题目:求一元二次方程组的根

描述:

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

输入:
输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程ax²+ bx + c =0的系数。
输出:
输出一行,表示方程的解。
若b² = 4 * a * c,则两个实根相等,则输出形式为:x1=x2=...。
若b² > 4 * a * c,则两个实根不等,则输出形式为:x1=...;x2 = ...,其中x1>x2。
若b² < 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<stdio.h>
#include<math.h>int main(){double a,b,c,d;//a,b,c用来存放三个系数,d用来存放一元二次方程组的判别式double x1,x2;double m,n;//double esp=pow(10,-7);printf("请依次输入一元二次方程组的系数:");scanf("%f%f%f",&a,&b,&c);d=b*b-4*a*c;if(d==0||d>0){if(d==0)//d=0时有两相等实根{x1=x2=(-b+sqrt(d))/(2*a);printf("x1=x2=%p.5lf\n",x1,x2);}else//d>0时有两不同实根{x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("x1=x2=%p.5lf\n",x1,x2);}}else//d<0时是两虚根的情况{m=-b/(2*a)+esp;n=sqrt(-d)/(2*a);printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi\n",m,n,m,n);        }   return 0;
}

编程技巧与注意事项:
1.浮点型的程序定义时尽量使用double,因为float型容易精读不够;
2.本题的错误输出是-0.000,为了避免这种情况可以加一个小值eps。要保留小数点后n位,eps=10的-(n+2)次方
3.次方函数pow(double a,double b) eg:10的-7次方即 pow(10,-7)

C语言编程题:求一元二次方程组的根相关推荐

  1. c语言计算二次函数顶点坐标,C语言编写一个求一元二次方程的实根的程序。 编辑一个小程序去做一元二次方程的求解(b^24ac)...

    导航:网站首页 > C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二次方程的求解(b^2>4ac) C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二 ...

  2. C++编程练习 计算一元二次方程组解判断是否测试过三种情况

    原题来自菜鸟教程 C++ 实例 - 求一元二次方程的根 实现方法相当简单 就是最基础的C语言程序 以下是菜鸟教程给的答案-- #include <iostream> #include &l ...

  3. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1058:求一元二次方程

    时间限制: 1000 ms 内存限制: 65536 KB 提交数: 24853 通过数: 3925 [题目描述] 利用公式,求一元二次方程ax2+bx+c=0的根,其中a不等于0.结果要求精确到小数点 ...

  4. 信息学奥赛一本通C++语言——1058:求一元二次方程

    [题目描述] 利用公式 ,求一元二次方程 的根,其中a不等于0.结果要求精确到小数点后5位. [输入] 输入一行,包含三个浮点数a,b,c(它们之间以一个空格分开),分别表示方程 的系数. [输出] ...

  5. C语言编写函数求一元二次方程

    <C语言程序设计教程(朱鸣华)第3版>第8章145页编程题5 原题:求方程 a x 2 + b x + c = 0 a{x^2} + bx + c = 0 % MathType!MTEF! ...

  6. 一元函数求导C语言,自定义函数求一元二次方程(C语言版)

    注意点: 输出的格式,多少位后小数. scanf后要记得加& <0的情况要记得分类 题目描述 求方程 的根,用三个函数分别求当b^2-4ac大于0.等于0.和小于0时的根,并输出结果.从 ...

  7. 1205: 求一元二次方程的实数根(C)

    一.题目 acm.wust.edu.cn/problem.php?id=1205&soj=0 二.分析 一元二次方程有三个系数a.b.c,两个根x1.x2,以及d(德尔塔): a.b.c均为实 ...

  8. C语言求一元二次方程组的解

    #include<stdio.h> #include<math.h> int main() {int a,b,c,x1,x2,d;printf(" 请输入方程组的三个 ...

  9. 【c语言|Python】求一元二次方程ax^2+bx+c=0的根

    #include<stdio.h> #include<math.h> #define EON 1e-6//为数字"1" int main(void) {fl ...

  10. C语言例题——求一元二次方程的实数根

    #include "stdio.h" #include "math.h"void main() {//方程的系数int a, b, c;//△和方程的解doub ...

最新文章

  1. 【MySQL】ubuntu16.04安装mysql,然后源码编译Qt5.12.4版本的libqsqlmysql.so
  2. jpa 多层嵌套一对多_OpenJPA-嵌套的一对多关系合并问题
  3. FPgrwoth详解(转载+修改一处图片问题)
  4. php 伪静态规则,在线将Apache Rewrite Rules伪静态规则转换为Nginx Rewrite伪静态规则...
  5. flutter: 建树流程
  6. 遇到一次传导干扰的怪事
  7. 程序员的基本功是什么?
  8. 数据库大作业——基于C#和SQL Server的简单日常记账系统
  9. imx8mm yocto_bsp 编译
  10. 【ubuntu如何卸载mysql(ubuntu卸载mysql的具体方法)】
  11. (7) PyQt 设计并实现【工厂扫码装箱系统】- Python代码实现BarTender自动化打印条码标签
  12. 【软件测试】应用白盒测试实例
  13. 微信H5开发-采坑记
  14. Xcode8注释快捷键不能使用
  15. AI读书笔记:《智能简史(谁会替代人类成为主导物种)》
  16. python Pygame的具体使用讲解
  17. 这或许是全网最全 Python dataframe 数据合并方法汇总
  18. 51单片机的特殊功能寄存器
  19. GridView控件的DataKeyNames
  20. abb机器人示教器io信号关联_如何在示教器上配置ABB机器人的输入/输出信号?(多图)...

热门文章

  1. 【电子技术基础(精华版)】整流与滤波电路
  2. 算法探究:线性时间选择问题
  3. 视频教程-Oracle 11G 入门到项目实战-Oracle
  4. C语言startup()函数,干货 | 深度剖析C语言的main函数
  5. 光立方程序详解_C ++程序使用宏查找数字的立方
  6. 自学JavaWeb系列-JSP教程!
  7. 通过.pk8及.pem文件生成Android studio使用的keystore文件。
  8. 蓝桥杯——练习系统登录
  9. Python yolo 神经网络实现视频中的行人车辆检测计数(车流量统计)YOLO多目标跟踪与计数
  10. oracle10g下载与安装教程,Oracle10g安装图解与Oracle10g卸载教程