本题目要求一元二次方程ax2+bx+c=0的根,结果保留2位小数。

输入格式:

输入在一行中给出3个浮点系数a、b、c,中间用空格分开。

输出格式:

根据系数情况,输出不同结果:

1)如果方程有两个不相等的实数根,则每行输出一个根,先大后小;

2)如果方程有两个不相等复数根,则每行按照格式“实部+虚部i”输出一个根,先输出虚部为正的,后输出虚部为负的;

3)如果方程只有一个根,则直接输出此根;

4)如果系数都为0,则输出"Zero Equation";

5)如果a和b为0,c不为0,则输出"Not An Equation"。

#include <stdio.h>
#include <math.h>
int main()
{double a,b,c,x1,x2;scanf("%lf %lf %lf",&a,&b,&c);double drt=pow(b,2)-4*a*c*1.0;//判别式,当a不等于0时,判别式>=0,是有实数解的。//大于有两个等于是一个。  if(a==0)// 一次函数时讨论 {if(b==0){if(c==0)//全为零时的情况 也就是第四个情况 printf("Zero Equation");else//只有c不为零 第五个情况 printf("Not An Equation");}else//b不为零算进一个根的情况 printf("%.2lf",(-1.0*c)/b);}else//相反就是为二次函数 {if(drt>=0)//判别式大于等于0,表示有两种情况,均有实数解 {if(drt==0)//其中等于0的一种,也就是只有一个根(实数根) {x1=x2=(-b+sqrt(drt))/(2*a);//这是求根公式哦 printf("%.2lf",x1);//x1或x2均可 }else//相反就是有两个实数根 {x1=(-b+sqrt(drt))/(2*a*1.0);//求根公式两个根要加正负 x2=(-b-sqrt(drt))/(2*a*1.0);//一样 printf("%.2lf\n%.2lf",x1,x2);}}else if(drt<0)//小于0就是无实数根,也就是题目的第二种情况 {x1=-1*b/(2*a);//实数 x2=sqrt(-1*drt)/(2*a);//虚数 if(x1==0)//防止方程有纯虚根 x1=0;printf("%.2lf+%.2lfi\n",x1,x2);//两个根 printf("%.2lf-%.2lfi\n",x1,x2);}}return 0;
}
//次函数有很多种的,ax^2+bx+c=0,
//(a不等于0,b^2-4ac>0)的二次函数只是其中的一种,
//其解是x=[-b±(b^2-4ac)^(1/2)]/2a ,
//若b^2-4ac<0,则函数将产生虚根,
//x=[-b±i(b^2-4ac)^(1/2)]/2a 式中i为虚数

实验3-11 求一元二次方程的根相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

  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,且保证 ...

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

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

最新文章

  1. lin通信ldf文件解析_详细步骤讲解如何在CANoe中创建一个LIN通讯工程(多图+详解)...
  2. 我以前用过的一个洗牌算法
  3. mysql gno( )_MySql笔记(一)
  4. CodeForces - 1445E Team-Building(可撤销并查集)
  5. input change获取改变之前的值和改变之后的值_科技改变游戏:玩家使用氛围灯追踪角色资源变化...
  6. LwIP编译方法以及选项说明
  7. html简单跨行跨列表格制作
  8. 信息收集之域名、IP互查
  9. MySQL必知必会:数据插入(Insert)
  10. 关于AOP(面向方面的编程)
  11. python mysql扩展,python-sql-faker:轻量级、易拓展的数据库智能填充开源库(Python实现版)...
  12. eclipse安装翻译插件(通用)
  13. 网站流量分析指标-PV/UV/PR/ip分析及区别
  14. 《AngularJS深度剖析与最佳实践》一 2.4 控制器
  15. java 填充字符串_Java字符串右补齐——String.format
  16. 报告预测,到2050年将有超过10亿人流离失所
  17. 如何在word中粘贴美观工整的代码段(planetB/notepad++)
  18. 学术派 | 基于AI的视频精彩度分析技术
  19. 韦丹塔和富士康投资200亿美元兴建半导体工厂;精密陶瓷3D打印中日合资企业微瓷公司在景德镇成立 | 美通企业日报...
  20. Android挂断电话最新教程

热门文章

  1. 【收藏】B站科普硬核节目
  2. 财经365零基础学投资:用江恩展望下半年股市
  3. 【旧文回顾】中国太阳能因制造业创新而繁荣
  4. Linux tail命令的使用方法详解
  5. 高性能浏览器网络(High Performance Browser Networking) 第四章
  6. git.exe pull -v --progress “scanpenmodular“fatal: detected dubious ownership in repository at ‘
  7. 触控手机、握笔握手、拎箱包、拿鸡蛋 可穿戴仿生手将投入量产!
  8. 2015新款 MacBook 用心的测评与试用. 最轻薄的Mac上市
  9. 老挑毛 win7 linux,老挑毛u盘装系统步骤|老挑毛u盘一键装系统
  10. 蓝桥杯, 38线译码器74Hc138