## 标题: 求一元二次方程的根(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


相关文章
|
8月前
代码随想录Day30 贪心05 LeetCode T435无重叠区间 T763划分字母区间 T56 合并区间
代码随想录Day30 贪心05 LeetCode T435无重叠区间 T763划分字母区间 T56 合并区间
56 0
代码随想录Day22 LeetCode T39 组合总和 T40 组合总和II T131 分割回文串
代码随想录Day22 LeetCode T39 组合总和 T40 组合总和II T131 分割回文串
37 0
在Word中让公式在中间,公式编号右对齐
在Word中让公式在中间,公式编号右对齐
学C的第二十四天【练习:1. 打印菱形;2. 打印自幂数;3. 求Sn=a+aa..n项之和;4. 喝汽水问题;5. 调整数组使奇数位于偶数前面;6. 打印X形图案;7……;8……;9……;10……】-2
5. 调整数组使奇数全部都位于偶数前面 题目: 输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。
134 0
【CCCC】L2-031 深入虎穴 (25分),求多叉树最深的节点编号
【CCCC】L2-031 深入虎穴 (25分),求多叉树最深的节点编号
109 1
代码随想录刷题|LeetCode 435. 无重叠区间 763.划分字母区间 56. 合并区间
代码随想录刷题|LeetCode 435. 无重叠区间 763.划分字母区间 56. 合并区间
代码随想录刷题|LeetCode 435. 无重叠区间 763.划分字母区间 56. 合并区间
|
索引
每日三题-下一个排列、颜色分类、寻找重复数
每日三题-下一个排列、颜色分类、寻找重复数
86 0
每日三题-下一个排列、颜色分类、寻找重复数
|
算法 索引
LeetCode每日一题——1252. 奇数值单元格的数目
给你一个 m x n 的矩阵,最开始的时候,每个单元格中的值都是 0。
92 0
LeetCode每日一题——1252. 奇数值单元格的数目
|
前端开发
伪类选择器设置奇偶数标签(1+X Web前端开发 例题)
伪类用于定义元素的特殊状态。 例如,它可以用于:设置鼠标悬停在元素上时的样式,为已访问和未访问链接设置不同的样式,设置元素获得焦点时的样式
250 0
伪类选择器设置奇偶数标签(1+X Web前端开发 例题)