c语言求多次函数的根,c语言求三次方程的根

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

做关于二次函数的问题,首先考虑a的取值a0,开口向上;a0,开口向下。

德保网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联

顶点(

-b/2a,(4ac-b^2)/4a

)

该题在x=-1时,y有最小值-4,就说明了该二次函数的顶点(并且a是大于0的)

即-b/2a=-1,(4ac-b^2)/4a

=-4

——

a

x1^2+x2^2=10(两根之和为-b/a,两根之积为c/a)

x1^2+x2^2=(x1+x2)^2-2x1x2=(b/a)^2-2c/a=10——

b

根据

a

b

解出就行了

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语言 求一元三次函数根的个数,键盘输入函数的四个系数值

#include

void main()

{

int a,b,c,d;

printf("请输入4个整数:");

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

printf("4个整数的平均值为%0.3f\n",(a+b+c+d)/4.0);

}

c语言函数求方程的根

#includestdio.h

#includestdlib.h

#includemath.h

int main()

{

float a,b,c,x,x1,x2,d;

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

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

if(a==0)

{

if(b==0)

{

if(0==c)

{

printf("等式0!\n");

}

else

{

printf("输入错误!\n");

}

}

else

{

printf("只能构成一元一次方程,x=%.6f\n",0==-(float)c/b ? 0 : -(float)c/b);

}

}

else

{

if(d0)

{

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

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

printf("x1=%.6f+%.6fi\nx2=%.6f-%.6fi\n",(-b)/(2.0*a),sqrt(-d)/(2.0*a),(-b)/(2.0*a),sqrt(-d)/(2.0*a));

}

else if(d==0)

{

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

}

else

{

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

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

printf("x1=%.6f\nx2=%.6f\n",x1,x2);

}

}

system("PAUSE");

return EXIT_SUCCESS;

}

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语言 输出二次函数的根。帮我看看错在哪了,谢谢啊

#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语言求多次函数的根,c语言求三次方程的根
文章分享:http://scyanting.com/article/heigoj.html