## 标题: 求一元二次方程的根(25分)

简介: ## 标题: 求一元二次方程的根(25分)
#include <stdio.h>
#include <math.h>
int  main (void)
{     double a,b,c,d,e,x1,x2;   
  scanf("%lf %lf %lf",&a,&b,&c);  
     d=b*b-4*a*c;  
      if (d>0)  
      {     if(a==0)     
           x1=-c/b;printf("%.2lf\n",x1);    
             if (a!=0)    
                 {   x1=(-b+sqrt(d))/(2*a);       
                      x2=(-b-sqrt(d))/(2*a);            
                      printf("%.2lf\n%.2lf\n",x1,x2);    
                 }   
      }   
      else if (d==0)  
      {     if (a==0&&b==0&&c==0)     
               printf("Zero Equation\n");   
              else if(a==0&&b==0&&c!=0)   
                  printf("Not An Equation\n");     
              else     
                     {  
                             x1=-b/(2*a);     
                        printf("%.2lf\n",x1);
                     }   
        }   
        else  
           {   if (a!=0)        
                  if(b==0)       
                     {
                                x1=sqrt(-d)/(2*a);         
                      x2=sqrt(-d)/(2*a);            
                      printf("0.00+%.2lfi\n0.00-%.2lfi\n",x1,x2); 
                }                                                                               
                    else        
                      {
                                  x1=sqrt(-d)/(2*a);       
                        e=-b/(2*a);        
                        x2=sqrt(-d)/(2*a);                
                        printf("%.2lf+%.2lfi\n%.2lf-%.2lfi\n",e,x1,e,x2);   
                                                
                       }  
            }
    return 0;
}
 
 

本题目要求一元二次方程的根,结果保留2位小数。

输入格式:

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

输出格式:

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

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

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

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

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

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

输入样例1:

2.1 8.9 3.5


输出样例1:

-0.44

-3.80


输入样例2:

1 2 3

输出样例2:

-1.00+1.41i

-1.00-1.41i

输入样例3:

0 2 4

输出样例3:

-2.00

输入样例4:

0 0 0

输出样例4:

Zero Equation

输入样例5:

0 0 1

输出样例5:

Not An Equation


相关文章
|
定位技术
【CCCC】L3-007 天梯地图 (30分),两次Dijkstra+路径打印(数据点2,4错因),90行最短题解
【CCCC】L3-007 天梯地图 (30分),两次Dijkstra+路径打印(数据点2,4错因),90行最短题解
150 0
|
8月前
|
人工智能 算法
代码随想录算法训练营第三十五天 | LeetCode 435. 无重叠区间、763. 划分字母区间、56. 合并区间
代码随想录算法训练营第三十五天 | LeetCode 435. 无重叠区间、763. 划分字母区间、56. 合并区间
44 0
|
11月前
在Word中让公式在中间,公式编号右对齐
在Word中让公式在中间,公式编号右对齐
|
12月前
L2-023 图着色问题 (25 分)(图的遍历)
L2-023 图着色问题 (25 分)(图的遍历)
53 0
|
索引 Python
python 将纬度按照10°为区间进行划分,并筛选在不同区间内sss的个数
要求:python 将纬度(list类型,包含1500个数据,从-90°-90°随机排列)按照每10°进行区间划分,并根据下标索引筛选在每一个区间内,所包含的sss(海表盐度)个数。
python 将纬度按照10°为区间进行划分,并筛选在不同区间内sss的个数
|
算法 Go
【CCCC】L3-014 周游世界 (30分),,DFS搜索最短路,路径打印
【CCCC】L3-014 周游世界 (30分),,DFS搜索最短路,路径打印
137 0
【CCCC】L2-031 深入虎穴 (25分),求多叉树最深的节点编号
【CCCC】L2-031 深入虎穴 (25分),求多叉树最深的节点编号
72 1
|
索引
每日三题-下一个排列、颜色分类、寻找重复数
每日三题-下一个排列、颜色分类、寻找重复数
62 0
每日三题-下一个排列、颜色分类、寻找重复数
【CCCC】L2-023 图着色问题 (25分),图的染色判定,遍历
【CCCC】L2-023 图着色问题 (25分),图的染色判定,遍历
157 0
【CCCC】L2-024 部落 (25分),并查集,统计集合个数
【CCCC】L2-024 部落 (25分),并查集,统计集合个数
94 0