解题思路:

注意事项:

参考代码:

#include <stdio.h>

#include <math.h>


void result_1(double a, double b, double c);

void result_2(double a, double b, double c);

void result_3(double a, double b, double c);

int main(void)

{

    double a, b, c, result;

    scanf("%lf %lf %lf", &a, &b, &c);

    if (b * b - 4 * a * c > 0)

    {

        result_1(a, b, c);

    }

    else if (b * b - 4 * a * c == 0)

    {

        result_2(a, b, c);

    }

    else

    {

        result_3(a, b, c);

    }


    return 0;

}

void result_1(double a, double b, double c)

{

    double result_1_1, result_1_2;

    result_1_1 = (-b + pow(b * b - 4 * a * c, 0.5)) / 2 * a;

    result_1_2 = (-b - pow(b * b - 4 * a * c, 0.5)) / 2 * a;

    double result_1[2] = {result_1_1, result_1_2};

    for (int i = 1; i <= 2; i++)

    {

        printf("x%d=%.3lf ", i, result_1[i - 1]);

    }

    printf("\n");

}

void result_2(double a, double b, double c)

{

    double result_2;

    result_2 = -b / 2 * a;

    printf("x1=%.3lf x2=%.3lf\n", result_2, result_2);

}

void result_3(double a, double b, double c)

{

    double result_3, real_part;

    real_part = -b / (2 * a);

    result_3 = pow(4 * a * c - b * b, 0.5) / (2 * a);

    printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi\n", real_part, result_3, real_part, result_3);

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论