用c语言求二次函数的根,用c语言求二次函数的根式

c语言 输出二次函数的根。帮我看看错在哪了,谢谢啊

#include stdio.h

为印江等地区用户提供了全套网页设计制作服务,及印江网站建设行业解决方案。主营业务为成都做网站、成都网站设计、印江网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

#include math.h

void main()

{ double a,b,c,x1,x2,d,i,t;

printf("请输入 a,b,c:\n");

scanf("%lf,%lf,%lf",a,b,c);

d=b*b-4*a*c;

i=sqrt(-1);

if(a==0)

printf("不是二次函数\n");

else if(d0)

{

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

x2=(-b-sqrt(d))/(2*a);

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

}

else if(d0)

{

x1=(-b+i*sqrt(d))/(2*a);//这里负数不能开根号

x2=(-b-i*sqrt(d))/(2*a);//这里负数不能开根号

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

}/*当d0时求复数根:可将实部和虚部分开处理,注意:i*sqrt(d)不能这样表达,i只代表虚部,不是-1,另外,开根号的数是-d,而不是d.

*/

else

{

t=-b/(2*a);

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

}

}

C语言课后题,调用3个函数求2次方程的根,编写程序如下

#includestdio.h

#includemath.h

void zero(float a,float b);

void left();

void right(float a,float b,float c);

void main()

{

float a,b,c,d;

printf("请输入a,b,c的值:\n");

scanf("%f %f %f",a,b,c);

d=b*b-4*a*c;

if(d==0)zero(a,b);

if(d0)left();

if(d0)right(a,b,c);

}

void zero(float a,float b)

{

printf("%f",-b/2*a);

}

void left()

{

printf("no roots!\n");

}

void right(float a,float b,float c)

{

float x1,x2;

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

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

printf("%f %f \n",x1,x2);

}

C语言 编程求二次方程根

我没运行代码 不过问题貌似在else if(fabs(disc)1e-6)

你的第1个if判断delta 就是那个disc 就是那么三角形样的东西 为0 那么fabs(disc)=1e-6浮点数为0

你的第2个elseif 我想你要判断的是disc为正数 那么可以直接开方 那你应该disc1e-6而不是fabs(disc)1e-6 其实disc0就行了

最后个else你是想disc为负数 那么要有i 我建议你写上disc-(1e-6)或者直接小于0

最后的最后 你一开始f=sqrt(disc)/(2*a); 有验算disc是大于等于0的亲?!!!

c语言:求二次函数ax^2+bx+c=0的根

pre t="code" l="cpp"#include stdio.h

#include math.h

int main()

{

float a, b, c, jud;

printf ("输入二次方程的三个系数(第一个不能为0):");

scanf ("%f %f %f", a, b, c);

jud = b * b - 4 * a * c; //根的判别式

if (jud 0)

{

printf ("该方程有两个不相等的实根:\n");

printf ("x1 = %.2f\n",(-b + sqrt (jud)) / (2 * a));

printf ("x2 = %.2f\n", (-b - sqrt (jud)) / (2 * a));

}

else if (jud == 0)

{

printf ("该方程有两个相等的实根:\n");

printf ( "x1 = x2 = %.2f\n", -b / (2 * a));

}

else

printf ("This equation haven't real root\n");

return 0;

}

c语言求二次函数的根

#include stdio.h

int main(void)

{

double a,b,c,d,e;

double x1,x2;

printf("请输入ax^2+bx +c = 0中a,b,c的值");

scanf("%lf,%lf,%lf",a,b,c);

e = b * b - 4 * a * c;

if (e0) {

printf("无解,请重新输入\n");

scanf("%lf,%lf,%lf",a,b,c);

}

printf("输入正确,正在计算....\n");

d = sqrt(e);

x1 = (-b + d)/(2 * a);

x2 = (-b - d)/(2 * a);

printf("x1=%f\n",x1);

printf("x2=%f\n",x2);

return 0;

}


本文名称:用c语言求二次函数的根,用c语言求二次函数的根式
新闻来源:http://ybzwz.com/article/hdgdjs.html