#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;
}
你的输入语句为:
scanf("%f,%f,%f",a,b,c);
运行后输入的数据是否使用了两个逗号分割,否则a,b,c的值并不是你输入的内容,你可以输出来看一看。
建议输入语句不要逗号,例如这样:
scanf("%f%f%f",a,b,c);
这样输入的数据使用逗号或者回车分开都可以。
做关于二次函数的问题,首先考虑a的取值a0,开口向上;a0,开口向下。
顶点(
-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
解出就行了
d=b*b-4*a*c; //这里计算的结果是d
if(d0) //这里怎么能判断n呢? 改成d
printf("无解\n");