c语言 求方程ax2+bx+c=0的根,用三个函数分别求当b2-4ac大于0、等于0和小于0时的根,不知道哪错了啊 50

#include<stdio.h>#include<math.h>voidfun1(doublea,doubleb,doublec){doublek=-b/(2*a);p... #include<stdio.h>
#include<math.h>
void fun1(double a, double b, double c)

{
double k=-b/(2*a);

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

}

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

{
double d,j1,j2;
d=b*b-4*a*c;
j1=(-b+sqrt(d))/(2*a);
j2=(-b-sqrt(d))/(2*a);

printf("x1=%lf\n",j1);
printf("x2=%lf\n",j2);
}
void fun3(double a, double b, double c)
{
double x3,x4,d;
d=b*b-4*a*c;
x3=-b/(2*a);
x4=sqrt(-d)/(2*a);
printf("x1=%f+%fi\n",x3,x4);
printf("x2=%f-%fi\n",x3,x4);
}
void main()
{

double a,b,c,d;
printf("please enter a,b,c:");
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;

if(a==0)
{
printf("erro!enter again\n");
return;
}

if (d==0) fun1(a, b, c);
else if (d>0) fun2(a, b, c);
else fun3(a, b, c);

}
展开
 我来答
匿名用户
2017-03-21
展开全部
感觉没错啊,除了那个double读入要用%lf,输出要用%f, 其他我没发现有什么错
追问
我试了一下输出都是同一个值
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式