解题思路:一个主函数,三个分函数,分别是大于零,等于零和小于零,到大于零和等于零可能我们都是会解的,但是等于零有些麻烦,我也是看别人的解法才写出来的。
注意事项:关键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语言训练-尼科彻斯定理 (C语言代码)。。。内含证明定理浏览:2069 |
C语言程序设计教程(第三版)课后习题3.7 (C++代码)浏览:998 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:810 |
矩形面积交 (Java代码)浏览:1221 |
九宫重排 (C++代码)浏览:1335 |
【绝对值排序】 (C语言代码)浏览:717 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:607 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:756 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:946 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:338 |