重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先你已经很清楚的说明了你这个程序是用C语言写二次函数的,而当a=0时,就不是二次函数了,应该按照一次函数来进行计算,否则 一个数除以0就没有意义了.~
为沈丘等地区用户提供了全套网页设计制作服务,及沈丘网站建设行业解决方案。主营业务为成都做网站、网站建设、沈丘网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
#include stdio.h
#include stdlib.h
#include math.h
int main()
{
float a,b,c;
float x1,x2,m;
printf("input number a=:");
scanf("%f",a);
printf("input number b=:");
scanf("%f",b);
printf("input number c=:");
scanf("%f",c);
if(a==0)
printf("一根:%f\n",c*(-1)/b);
else if(a==0b==0)
printf("无意义!");
else
{
m=b*b-4*a*c;
if(m0)
{
printf("两根\n");
printf("x1=%f\n",(-b+sqrt(m))/(2*a));
printf("x2=%f\n",(-b-sqrt(m))/(2*a));
}
else if(m==0)
printf("x1=x2=%f\n",x1);
}
else
printf("无实根\n");
}
return 0;
}
二次函数的函数值就是y值,如果知道x的值,就将x的值代入解析式中,就可以求出函数值。
举例说明:给定二次函数y=x²+1,求x=2的时候的函数值。
(1)将x=2代入y=x²+1,得到y=2²+1=4+1=5。
(2)当x=2时,y的函数值等于5。
二次函数的基本表示形式为y=ax²+bx+c(a≠0)。二次函数最高次必须为二次, 二次函数的图像是一条对称轴与y轴平行或重合于y轴的抛物线。
扩展资料:
ax²+bx+c=0(a≠0),根的情况:
(1)b^2-4ac0,ax^2+bx+c=0有两个不相等的实根。
(2)b^2-4ac0,ax^2+bx+c=0无实根。
(3)b^2-4ac=0,ax^2+bx+c=0有两个相等的实根。
y=ax²+bx+c(a≠0)对称轴x=-b/2a
y=ax²+bx+c(a≠0)顶点(-b/2a,(4ac-b^2)/4a)
参考资料:百度百科-二次函数
y=ax^2+bx+c
以上面为例:a=1 b=4 c=0
极值=(4ac-b^2)/4a
double a=1, b=4, c=0;
double jizhi;
jizhi=(4*a*c-b*b)/(4*a);
你的
else if(b*b-4*a*c==0)
x1=x2=-b/2*a; printf("%.2f,%.2f",x1,x2);
和
else $=sqrt(b*b-4*a*c)/(2*a);
x1=-b+$;
x2=-b-$;
printf("x1=%.2f\n x2=%.2f\n",x1,x2);
两句加上大括号就行了。。。
if只能执行到分号以前,所以加入大括号。另外x1=x2=-b/2*a MS没加小括号
else if(b*b-4*a*c==0)
{x1=x2=-b/(2*a); printf("%.2f,%.2f",x1,x2);}
else $=sqrt(b*b-4*a*c)/(2*a);
{ x1=-b+$;
x2=-b-$;
printf("x1=%.2f\n x2=%.2f\n",x1,x2);
}
还有。。