永发信息网

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

答案:2  悬赏:0  手机版
解决时间 2021-02-05 00:57
#include
#include
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);

}
最佳答案
感觉没错啊,除了那个double读入要用%lf,输出要用%f, 其他我没发现有什么错
全部回答
主函数中加个if条件判断啦!!! if(a==0) { if(b==0) printf("error!\n"); else printf("x=%.2lf\n",-c/b); } else{ d=b*b-4*a*c; if(d==0) deltazero(a,b,c); else if(d>0) deltalargerzero(a,b,c); else if(d<0) deltalesszero(a,b,c); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
现在做外贸学历要求高吗
五星北路/成功街(路口)地址在哪,我要去那里
把(X-3)²-2(X-3)-5(X-3)²+(X+3)中
1229038739103050001679491这个号是捷信消费
单选题奥运会需要一种多边形形状的瓷砖用来铺
稷山底黄大夫好我是神经性耳聋看了好多地方都
锦桥医药NO.2这个地址在什么地方,我要处理点
小熊称水果,如果把左边重9分之1千克的小苹果,
株洲景炎中学2016自主招生报名什么时候开始
变形金刚地球之战赛博坦币怎么得 赛博坦币获
有一首歌是(两个字)两个人的什么什么
十三大街/陇海四路(路口)地址有知道的么?有
一些计算题.化简求值只需化简
单选题Thenurseiskind________me.Itis
2012年6月16日,中国神舟航天计划的第九艘飞
推荐资讯
y=2x^4+3x^3+3x-2。如果y=0,x=几
勒勋的意思是什么啊?知道的请说下!
意菲尼燃气壁挂炉故障代码E5是怎样会事?
宝鸡到中卫沙坡头自驾游路线怎么走
三星Note3怎么插内存卡?
Ⅰ.请利用下图装置完成对某转基因植物光合作
虎鱼总在水里跳是什么原因
-(-5.5) -5|5| 表示什么?
妖姐驿站地址在什么地方,想过去办事
脸型大的人富贵吗
鞮鍪的意思是什么啊?知道的请说下!
过秦记的中心论点是什么?求解
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?