解题思路:
分别写三个函数,fun1、fun2、fun3代表三种情况。

注意事项:

注意题干要求,用三个函数分别求b^2-4ac大于0、等于0、和小于0时的根

参考代码:

#include<stdio.h>

#include<math.h>

void fun1(int a,int b,int c);

void fun2(int a,int b,int c);

void fun3(int a,int b,int c);

int main(){

    int a,b,c;

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

    int s = b*b - 4*a*c;

    if(s>0){

      fun1(a,b,c);

    }

    if(s==0){

     fun2(a,b,c);  

    }

    if(s<0)

    fun3(a,b,c);

    return 0;

}

void fun1(int a,int b,int c){

    double x1 = (double)(-b + sqrt(b * b - 4 * a * c))/(2*a);

    double x2 = (-b - sqrt(b * b - 4 * a * c))/(2*a);

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

}

void fun2(int a,int b,int c){

    int s = b*b - 4*a*c;

    double x1 = (-b + sqrt(s))/(2*a);

    double x2 = x1;

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

}

void fun3(int a,int b,int c){

    int s = b*b - 4*a*c;

    double x1 = (double)(-b)/(2*a);

    double x2 = (double)sqrt(fabs(s))/(2*a);

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

}




点赞(0)
 

0.0分

2 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论