首页 > 试题广场 >

计算一元二次方程

[编程题]计算一元二次方程
  • 热度指数:87341 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
从键盘输入a, b, c的值,编程计算并输出一元二次方程ax2 + bx + c = 0的根,当a = 0时,输出“Not quadratic equation”,当a ≠ 0时,根据△ = b2 - 4*a*c的三种情况计算并输出方程的根。

输入描述:
多组输入,一行,包含三个浮点数a, b, c,以一个空格分隔,表示一元二次方程ax2 + bx + c = 0的系数。


输出描述:

针对每组输入,输出一行,输出一元二次方程ax2 + bx +c = 0的根的情况。

  如果a = 0,输出“Not quadratic equation”;

  如果a ≠  0,分三种情况:

△ = 0,则两个实根相等,输出形式为:x1=x2=...

△  > 0,则两个实根不等,输出形式为:x1=...;x2=...,其中x1  <=  x2。

△  < 0,则有两个虚根,则输出:x1=实部-虚部i;x2=实部+虚部i,即x1的虚部系数小于等于x2的虚部系数,实部为0时不可省略。实部= -b / (2*a),虚部= sqrt(-△ ) / (2*a)

所有实数部分要求精确到小数点后2位,数字、符号之间没有空格。

示例1

输入

2.0 7.0 1.0

输出

x1=-3.35;x2=-0.15
示例2

输入

0.0 3.0 3.0

输出

Not quadratic equation
示例3

输入

1 2 1

输出

x1=x2=-1.00
示例4

输入

2 2 5

输出

x1=-0.50-1.50i;x2=-0.50+1.50i
示例5

输入

1 0 1

输出

x1=0.00-1.00i;x2=0.00+1.00i
#include<stdio.h>
#include<math.h>    //double sqrt(double x) 求x的平方根
int main(){
    double a,b,c,s,x1,x2,num,real,imag;
    while(scanf("%lf %lf %lf",&a,&b,&c)!=EOF){
        if(a==0) printf("Not quadratic equation\n");
        else{
            s=b*b-4*a*c;
            //printf("%.2lf\n",s);
            if(s==0){
                x1=(-b)/(2*a);
                if(x1==0) x1=0.00;
                x2=x1;
                printf("x1=x2=%.2lf\n",x1);
            }
            else if(s>0){
                x1=(sqrt(s)-b)/(2*a);
                if(x1==0) x1=0.00;
                x2=(-sqrt(s)-b)/(2*a);
                if(x2==0) x2=0.00;
                num=x1;
                x1=(x1<=x2)?num:x2;
                x2=(num<=x2)?x2:num;
                printf("x1=%.2lf;x2=%.2lf\n",x1,x2);
            }
            else{
                real=(-b)/(2*a);
                if(real==0) real=0.00;
                imag=sqrt(-s)/(2*a);
                if(imag==0) imag=0.00;
                if(imag<0) imag=-imag;
                printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n",real,imag,real,imag);
            }
        }
    }
    return 0;
}

发表于 2022-06-13 14:15:38 回复(0)
#include<stdio.h>
#include<math.h>
int main(){
    float a,b,c,delta,x1,x2,xb;
    while(scanf("%f %f %f",&a,&b,&c)!=EOF){
        if(a==0){
            printf("Not quadratic equation");
        }else{
            delta=b*b-4*a*c;
            if(delta==0){
                x1=(-b)/(2*a);
                if(x1==0){
                    printf("x1=x2=0.00\n");
                }
                else{
                    printf("x1=x2=%.2f\n",x1);
                }
            }else if(delta>0){
                x1=(-b)/(2*a)-sqrt(delta)/(2*a);
                x2=(-b)/(2*a)+sqrt(delta)/(2*a);
                printf("x1=%.2f;x2=%.2f\n",x1,x2);
            }else{
                x1=(-b)/(2*a);
                x2=(-b)/(2*a);
                xb=sqrt(-delta)/(2*a);
                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",x1,xb,x2,xb);
            }
        }
    }
}

发表于 2022-02-26 14:13:08 回复(0)
#include<stdio.h>
#include<math.h>
int main()
{
    float a,b,c,det;
    while(~scanf("%f%f%f",&a,&b,&c))
    {
        if(a==0)printf("Not quadratic equation\n");
        else 
        {
         det=b*b-4*a*c;
        if(det==0)printf("x1=x2=%.2f\n",-b/(2*a));
        else if(det>0)printf("x1=%.2f;x2=%.2f\n",(-b-sqrt(det))/(2*a),(-b+sqrt(det))/(2*a));
        else if(det<0)printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", 
                             -b/(2*a),sqrt(-det)/(2*a),-b/(2*a),sqrt(-det)/(2*a));
        }
    }
    return 0;
}

发表于 2021-07-12 11:08:51 回复(0)
#include<stdio.h>
#include<math.h>
int main(){
    float a,b,c,delta,m,n;
    while(~scanf("%f %f %f",&a,&b,&c)){
        if(a==0){
            printf("Not quadratic equation\n");
            continue;
        }
        delta = b*b-4*a*c;
        if(delta==0)
            printf("x1=x2=%.2f\n",(b+sqrt(delta))/(-2*a));
        else if(delta>0){
            m=(b+sqrt(delta))/(-2*a);
            n=(b-sqrt(delta))/(-2*a);
            printf("x1=%.2f;x2=%.2f\n",m>n?n:m,m>n?m:n);
           }    
        else{
            m=b/(-2*a);
            n=sqrt(-delta)/(2*a);
            printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",m,n,m,n);
        }
  }
}

发表于 2021-06-01 23:09:53 回复(0)
#include<bits/stdc++.h>
using namespace std;

int main() {
    double a,b,c;
    while(cin >> a >> b >> c) {
        double dt = b*b-4*a*c;
        if(a==0) {
            cout << "Not quadratic equation" << endl;
        }
        else if(dt==0) {
            printf("x1=x2=%.2f\n", -b/(2*a));
        }
        else if(dt>0) {
            double x1 = (-b+sqrt(dt))/(2*a);
            double x2 = (-b-sqrt(dt))/(2*a);
            if(x1>x2)
                swap(x1, x2);
            printf("x1=%.2f;x2=%.2f\n", x1, x2);
        }
        else {
            double x = fabs(sqrt(-dt)/(2*a));
            double s = -b/(2*a);
            printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", s, x, s, x);
        }
    }
    return 0;
}

发表于 2020-08-01 15:49:42 回复(0)
#include <stdio.h>
(737)#include <math.h>
int main()
{
    double a,b,c;
    while(scanf("%lf%lf%lf",&a,&b,&c)!=EOF){
        if(a==0){
            printf("Not quadratic equation\n");
            continue;
        }
        double delta=b*b-4*a*c;
        if(delta==0){
            printf("x1=x2=%.2f\n",-b/(2*a));
        }else if(delta>0){
            printf("x1=%.2f;x2=%.2f\n",-(b+sqrt(delta))/(2*a),-(b-sqrt(delta))/(2*a));
        }else{
            if(b==0) printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",b,sqrt(-delta)/(2*a),b,sqrt(-delta)/(2*a));
            else
            printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",b/(-2*a),sqrt(-delta)/(2*a),b/(-2*a),sqrt(-delta)/(2*a));
        }
    }
}

发表于 2020-04-11 00:00:07 回复(0)
#include<bits/stdc++.h>
using  namespace std;
int main()
{
    double a,b,c,x1,x2,d;
    while(scanf("%lf%lf%lf",&a,&b,&c) != EOF)
    {
        if(a==0)
            cout << "Not quadratic equation" << endl;
        else 
        {   double p1,q2;
            d=b*b-4*a*c;
            p1 = -b/(2*a);
            q2 = sqrt(fabs(d))/(2*a);
            if(d>0)
            {
                cout << fixed << setprecision(2) << "x1=" << p1-q2 << ";"
                << "x2=" << p1+q2 << endl;
            }
            else if(d==0)
                cout << fixed << setprecision(2) << "x1=x2=" << p1 << endl;
            else 
                cout << fixed << setprecision(2) << "x1=" << p1 << "-" << q2 << "i;" 
                    << "x2=" << p1 << "+" << q2 << "i" << endl;
        }
    }
}
发表于 2020-03-30 17:44:46 回复(0)
#include <cstdio>
#include <cmath>
void geng(float a,float b,float k)
{
    if(k>0)
        {
            k=sqrt(k);
            printf("x1=%.2f;x2=%.2f\n",(-b-k)/(2*a),(-b+k)/(2*a));
        }
        else if(k==0)
             printf("x1=x2=%.2f\n",(-b)/(2*a));
        else
        {
            if(b==0)
                b=-b;
            k=sqrt(-k);
            printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",(-b)/(2*a),k/(2*a),(-b)/(2*a),k/(2*a));
        }
}
int main()
{
    float a,b,c;
    while(scanf("%f %f %f",&a,&b,&c)!=EOF)
    {
        if(a==0)
            printf("Not quadratic equation\n");
        else
        {
            float k=b*b-4*a*c;
             geng(a,b,k);
        }
    }
    return 0;
}

编辑于 2020-03-25 17:42:32 回复(0)
#include<stdio.h>
#include<math.h>
int main(void)
{
    double a,b,c;
    double date;
    while(scanf("%lf %lf %lf",&a,&b,&c)!=EOF)
    {
        if(a==0)
        {
            printf("Not quadratic equation\n");
        }
        else{
            date=pow(b,2)-4*a*c;
            if(date==0)
            {
                printf("x1=x2=%.2lf\n",(-b+sqrt(date))/(2*a));/*为什么date此时为零却还要加上sqrt(date)呢?不加上就显示【-0.00】!!!*/
            }
            else if(date>0)
            {
                double num1,num2;
                num1=(-b+sqrt(date))/(2*a);
                num2=(-b-sqrt(date))/(2*a);
                printf("x1=%.2lf;x2=%.2lf\n",num1<num2?num1:num2,num1>num2?num1:num2);
            }
            else{
                printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n",-b/(2*a),sqrt(-date)/(2*a),-b/(2*a),sqrt(-date)/(2*a));
            }
        }
    }
    return 0;
}
发表于 2022-01-29 15:20:39 回复(1)
这里C++的保留小数点后两位数字的方式和C不一样,所以易出错的点就在结果输出的格式上,这里用到的是setprecision(2)方法来保留小数点后两位数据方法。
#include<bits/stdc++.h>
using namespace std;
int main(){
    double a, b, c;
    while(cin >> a >> b >> c){
        if(a == 0) cout << "Not quadratic equation" << endl;
        else{
            double delta = pow(b, 2.0) - (4 * a * c);
            if(delta > 0){
                double x1 = (-b - sqrt(delta)) / (2 * a);
                double x2 = (-b + sqrt(delta)) / (2 * a);
                cout << fixed << setprecision(2) << "x1=" << x1 << fixed << setprecision(2) << ";x2=" << x2 << endl;
            }
            else if(delta < 0){
                if(-b / (2 * a) == 0){
                    cout << fixed << setprecision(2) << "x1=" << 0.00 << "-" << fixed << setprecision(2) << sqrt(-delta) / (2 * a) << "i"
                         << fixed << setprecision(2) << ";x2=" << 0.00 << "+" << fixed << setprecision(2) << sqrt(-delta) / (2 * a) << "i"
                         << endl;
                }
                else{
                    cout << fixed << setprecision(2) << "x1=" << -b / (2 * a) << "-" << sqrt(-delta) / (2 * a) << "i"
                         << fixed << setprecision(2) << ";x2=" << -b / (2 * a) << "+" << sqrt(-delta) / (2 * a) << "i" 
                         << endl;
                }
            }
            else{
                cout << fixed << setprecision(2) << "x1=x2=" << -b / (2 * a) << endl;
            }
        }
    }
    return 0;
}

发表于 2020-06-01 12:50:05 回复(0)
#include <stdio.h>
#include <math.h>
int main()
{
    double a = 0.0;
    double b = 0.0;
    double c = 0.0;
    while(scanf("%lf %lf %lf",&a,&b,&c) != EOF)
    {
        if(a == 0)
            printf("Not quadratic equation\n");
        else
        {
            double drct = (b*b)-(4*a*c);
           
            if(drct == 0)
            {
                if(b == 0)
                {
                    printf("x1=x2=%.2lf\n",0);//4 0 0 打印出-0后所需要改正的
                }
                else
                {
                    printf("x1=x2=%.2lf\n",(-b)/(2*a));
                }
            }
            else if(drct > 0)
                printf("x1=%.2lf;x2=%.2lf\n",(-b-sqrt(drct))/(2*a),(-b+sqrt(drct))/(2*a));
            else
            {
               double real = (-b)/(2*a);
               double dash = sqrt(-drct)/(2*a);
                if(dash < 0)  
                    dash = -dash;
                printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n", real, dash, real, dash);
                
            }
        }
    }
    return 0;
}

发表于 2022-05-18 12:40:59 回复(0)
#include<stdio.h>
#include<math.h>
int main()
{
    double a=0.0,b=0.0,c=0.0;
    while(~scanf("%lf %lf %lf",&a,&b,&c))
    {
        if(a==0.0)
            printf("Not quadratic equation\n");
        else
        {
            double disc=b*b-4*a*c;
            if(disc==0.0)
            {
                if(b==0&&c==0)//不然会显示-0.0!

                    printf("x1=x2=0.00\n");
                else
                printf("x1=x2=%.2lf\n",-b/(2.0*a));
            }
            else if(disc>0.0)
            {
                printf("x1=%.2lf;x2=%.2lf\n",
                       (-b-sqrt(disc))/(2*a),(-b+sqrt(disc))/(2*a));
            }
            else
            {
                double real=(-b)/(2*a);
                double image=sqrt(-disc)/(2*a);
                printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n",
                      real,image,real,image);
            }
        }
    }
    return 0;
}
if(b==0&&c==0)//不然会显示-0.0!
 printf("x1=x2=0.00\n");
else
 printf("x1=x2=%.2lf\n",-b/(2.0*a));
printf("x1=x2=%.2lf\n",(-b+sqrt(disc))/(2.0*a));
这样写过不了-4 0 0,还是显示-0.0;
直接写printf("x1=x2=%.2lf\n",-b/(2.0*a));
过不了4 0 0,显示-0.0;
所以直接(能过)
if(b==0&&c==0) 
printf("x1=x2=0.00\n");


发表于 2022-02-07 16:31:08 回复(1)
#include<stdio.h>
#include<math.h>
    int main(void) {
        float a, b, c;  // 存储二次方程的系数
        float i, j, k;  // 临时变量
        float* p = &i, * q = &j;

        while (scanf("%f%f%f", &a, &b, &c) != EOF) {  // 从输入流中循环读取
            if (a == 0)  // 如果a==0,则不是二次方程,输出提示语
                printf("Not quadratic equation\n");
            else {
                *p = b * b - 4 * a * c;  // 求△
                *q = 2 * a;  // 临时变量存储2*a
                k = (-b) / (2*a);  // 临时变量存储,减少计算次数

                if (*p == 0)
                    printf("x1=x2=%.2f\n", k != 0?k:0.00);  // 会出现-0.0,所以条件表达式
                else if (*p > 0) {
                    printf("x1=%.2f;", (-b - sqrt(*p)) / *q);  // 计算x1
                    printf("x2=%.2f\n", (-b + sqrt(*p)) / (2 * a));  // 计算x2
                }
                else {
                    printf("x1=%.2f-%.2fi;", k, sqrt(-(*p)) / *q);  // 虚根1
                    printf("x2=%.2f+%.2fi\n", k, sqrt(-(*p)) / *q);  // 虚根2
                }
            }
        }
        return 0;
    }
题目简单,重在使用编程语言表达数学算术表达式

注意:这一题当△ =0时,如果x1=x2=0.00,则可能会出现-0.00的情况,我使用了条件表达式去判断一下, 舍去了-号,
printf("x1=x2=%.2f\n", k != 0?k:-k);  // 会出现-0.0,所以条件表达式

发表于 2022-02-02 19:21:49 回复(2)
#include <stdio.h>
#include <math.h>
int main()
{
    float a, b, c, x1, x2;
    float shi, xu;
    while( scanf("%f %f %f", &a, &b, &c)!=EOF) 
    {
        float fx = b * b - 4 * a * c;
    if (a == 0)
    {
        printf("Not quadratic equation\n");
    }
        
    else
    {
        if (fx > 0)
        {
            x1 = (-b - sqrt(fx)) / (2 * a);
            x2 = (-b + sqrt(fx)) / (2 * a);
            printf("x1=%.2f;", x1);
            printf("x2=%.2f\n", x2);
        }
        else
            if (fx == 0)
            {
                x1 = x2 = (-b / (2 * a));
                if(x1==-0)
                    x1=0.00;
                printf("x1=x2=%.2f\n", x1);
            }
            else
            {
                shi = -b / (2 * a);
                xu = sqrt(-fx) / (2 * a);
                if(xu<0)
                     xu=-xu;
                if(shi==-0)
                        shi=0.00;
                 printf("x1=%.2f-%.2fi;", shi, xu);
                printf("x2=%.2f+%.2fi\n", shi, xu);
            }
            }
        }
        return 0;
}

发表于 2022-07-10 22:34:29 回复(1)
import math
while 1:
    try:
        a,b,c = map(float,input().split())
        if a == 0:
            print('Not quadratic equation')
        else:
            delta = b**2-4*a*c 
            if delta == 0:
                x1 = x2 = -b/(2*a)
                print(f'x1=x2={x1:.2f}')
            elif delta > 0:
                delta_sqrt = math.sqrt(delta)
                x1 = (-b-delta_sqrt)/(2*a)
                x2 = (-b+delta_sqrt)/(2*a)
                print(f'x1={x1:.2f};x2={x2:.2f}')
            else:
                shi = int(-b)/(2*a)
                '''
                浮点型负0返回浮点型负0,需要将-b转为整型。
                注意不能int(-b/2*a)带公式这种,这相当于
                int()无参数的写法,返回值为0。
                '''
                xu = math.sqrt(-delta)/(2*a)    #不能对负数开根号
                print(f'x1={shi:.2f}-{xu:.2f}i;x2={shi:.2f}+{xu:.2f}i')
    except:
        break
发表于 2021-09-07 19:42:14 回复(2)
代码为C语言
注意:
        1.根据题目给的条件和示例,要很快想出思路:根据a,b,▲的值不同,分不同情况(if)讨论;
        2.▲<0时出现复数,这是在中学阶段尚未涉及的内容,题目给出了应对方法,照着写就行,然后引用sqrt函数,可能需要头文件#include<math.h>;
        3.剩下的应该都不难,组织好语言,然后注意多组输入的条件和浮点数保留位数之类的东西即可;
#include <stdio.h>
#include <math.h>
int main()
{
    float a,b,c;
    while(scanf("%f%f%f",&a,&b,&c)!=EOF)
    {
        if(a==0)
        {
            printf("Not quadratic equation\n");
        }
        else if(b*b-4*a*c==0)
        {
            printf("x1=x2=%.2f\n",-b/(2*a));
        }
        else if(b*b-4*a*c>0)
        {
            printf("x1=%.2f;x2=%.2f\n",(-b-sqrt(b*b-4*a*c))/(2*a),(-b+sqrt(b*b-4*a*c))/(2*a));
        }
        else if(b*b-4*a*c<0)
        {
            if(b!=0)
            {
                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",-b/(2*a),sqrt(-(b*b-4*a*c))/(2*a),-b/(2*a),sqrt(-(b*b-4*a*c))/(2*a));
            }
            else if(b==0)
            {
                printf("x1=0.00-%.2fi;x2=0.00+%.2fi\n",sqrt(-(b*b-4*a*c))/(2*a),sqrt(-(b*b-4*a*c))/(2*a));
            }
        }
    }
    return 0;
}

发表于 2020-12-29 16:24:22 回复(3)
#include<stdio.h>
#include<math.h>
int main() {
    float a = 0, b = 0, c = 0;
    //scanf("%f %f %f", &a, &b, &c);
    while (scanf("%f %f %f", &a, &b, &c) != EOF) {
        float d = b * b - 4 * a * c; //判别式
        float x1 = 0, x2 = 0; //根
        if (a == 0) {
            printf("Not quadratic equation");
        } else {
            if (d == 0) {
                x1 = x2 = (-b / (2 * a));
                if (x2 == 0) {
                    printf("x1=x2=0.00\n");
                } else {
                    printf("x1=x2=%.2f\n", x1);
                }
            } else if (d < 0) {
                //x1 = -b/2*a - sqrt(-d) / (2 * a);
                //x2 = -b/2*a + sqrt(-d) / (2 * a);
                float e = -b / (2 * a);
                float f = sqrt(-d) / (2 * a);
                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", e, f, e, f);
            } else if (d > 0) {
                x1 = (-b - sqrt(d)) / (2 * a);
                x2 = (-b + sqrt(d)) / (2 * a);
                printf("x1=%.2f;x2=%.2f\n", x1, x2);
            }
        }
    }
    return 0;
}
发表于 2024-10-30 21:24:38 回复(0)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>

int main() {
    float a, b, c;
    while (scanf("%f %f %f", &a, &b, &c) != EOF) {
        if (a == 0.0)printf("Not quadratic equation\n");
        else {
            float d = b * b - 4 * a * c;
            if (d == 0) {
                float x = (-b + sqrt(d)) / (2 * a);
                printf("x1=x2=%.2f\n", x + 0);
                //看评论区才知道-0.0+0可以消去负号 确实妙
                //自己原计划是用if直接输出 如下
                //if (x == -0.0)printf("x1=x2=0.00");
            }
            else if (d > 0) {
                float x1 = (-b + sqrt(d)) / (2 * a);
                float x2 = (-b - sqrt(d)) / (2 * a);
                printf("x1=%.2f;x2=%.2f\n", x1<x2 ? x1 : x2, x1>x2 ? x1 : x2);
            }
            else if (d < 0) {
                float s = (-b) / (2 * a);
                float x = sqrt(-d) / (2 * a);
                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", s, x, s, x);
            }
        }
    }

    return 0;
}

发表于 2024-08-02 11:32:36 回复(0)
#include <stdio.h>

#include<math.h>    //会用到sqrt
void check_equation(double a, double b, double c)   //求根函数
 {
    double x1=0,x2=0;  //两个根
    if(a == 0) 
    {
        printf("Not quadratic equation\n");
    }
    else    //a不为0的情况
    {
        double M = b*b-(4*a*c); //后面不用计算,提升效率,判断式
       

        if(M==0)        //两根相等
        {
            double x = b/(-2*a); //相等时的求根公式
            if(x == 0)      //x等于0.00时总是以-0.00显示
            printf("x1=x2=0.00\n");
            else
            printf("x1=x2=%.2lf\n", x);
        }
        else if(M>0)    //两根为实根
        {
             x1 = (-b+sqrt(M))/(2*a);    
             x2=  (-b-sqrt(M))/(2*a);    //求根公式
            if(x1<=x2)  //小的根一定在前面
            printf("x1=%.2lf;x2=%.2lf\n",x1,x2);  
            else
            printf("x1=%.2lf;x2=%.2lf\n",x2,x1);
        }
        else            //两个为虚根
        {
            double shi = -b/(2*a);          //虚部,虚部和实部不能相加
            double xu = sqrt(-M)/(2*a);    //一定是正数!!!
            //直接打印
            //因为虚部显示是相反数,而xu一定为正数
            //所以x1 一定是“-”减号字符,x2一定是“+”加号字符
            printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi",shi,xu,shi,xu);

            // double xu2 = -xu1;           //不用比较虚部的大小了
            // if(xu1<=xu2) 
            // {
            //     printf("x1=%.2lfi;x2=%.2lfi\n",);
            // }
            // else
            //     printf("x1=%.2lfi;x2=%.2lfi\n",x4,x3);
        }
    }
 }

int main() 
{
    double a,b,c;
    while(scanf("%lf %lf %lf", &a, &b, &c) !=EOF)   //如果在成功读取任何数据之前发生任何情况
                                                    //则返回 EOF。
    {
        check_equation(a,b,c);   //求根函数
    }
    return 0;
}

编辑于 2024-04-18 23:07:19 回复(0)
编辑于 2024-03-26 15:26:21 回复(0)