解题思路:一个主函数,三个分函数,分别是大于零,等于零和小于零,到大于零和等于零可能我们都是会解的,但是等于零有些麻烦,我也是看别人的解法才写出来的。
注意事项:关键b^2-4ac<0的时候。
参考代码:
#include<stdio.h>
#include<math.h>
void dengyu(double a,double b);
void dayu(double sum,double a,double b);
void xiaoyu(double sum,double a,double b);
int main()
{
double aa,bb,cc;
double sum;
scanf("%lf %lf %lf",&aa,&bb,&cc);
sum=pow(bb,2)-4*aa*cc;
if(pow(bb,2)-4*aa*cc>0)
dayu(sum,aa,bb);
else if(pow(bb,2)-4*aa*cc==0)
dengyu(aa,bb);
else
xiaoyu(sum,aa,bb);
return 0;
}
void dayu(double sum,double a,double b)
{
double x1,x2;
x1=(double)(-b+sqrt(sum))/2*a;
x2=(double)(-b-sqrt(sum))/2*a;
printf("x1=%.3lf x2=%.3lf\n",x1,x2);
}
void dengyu(double a,double b)
{
double x1,x2;
x1=(double)-b/2*a;
x2=x1;
printf("x1=%.3lf x2=%.3lf",x1,x2);
}
void xiaoyu(double sum,double a,double b)
{
double x1,x2;
x1=(double)-b/(2*a);
x2=(double)(sqrt(-sum))/(2*a);
printf("x1=%.3f+%.3fi x2=%.3f-%.3fi\n",x1,x2,x1,x2);
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复