用C语言求解一元二次方程的解怎么写
//求一元二次方程的解
#include
#include
\x09void main ()
\x09{
\x09\x09double x1;//x1,x2分别为方程的2个解
\x09\x09double x2;
\x09\x09double melt;
\x09\x09int a;
\x09\x09int b;//初始化ABC的三个变量
\x09\x09int c;\x09
\x09printf("请输入a b c三个数的值:");
\x09scanf("d% d% d%",&a,&b ,&c);//输入ABC的时候需要空格
\x09melt = b*b - 4*a*c;//初始化melt的值
\x09if (melt>0)
\x09{\x09\x09\x09\x09x1=(-b + sqrt(melt))/(2*a);
\x09\x09\x09\x09\x09x2=(-b - sqrt(melt))/(2*a);
\x09\x09printf ("2个解,x1 = lf%,x2 = lf%\n",x1,x2);
\x09}
\x09\x09
\x09else if (melt==0)
\x09{
\x09x1 = (-b )/(2*a);
\x09x2 = x1;
\x09printf("1个解,x1 = f%,x2 = lf%\n",x1,x2);
\x09}
\x09\x09else
\x09\x09{
\x09\x09\x09printf("无解\n");
\x09\x09}
\x09}
假如输入,1 -5 6 最后的提示是无解,具体不知道是那个循环错了.
人气:278 ℃ 时间:2020-02-02 14:01:32
解答
很高兴为您解答.原代码中的scanf和printf中的%要放在d和lf的前面才对,改正后运算无误~#include #include void main (){double x1;//x1,x2分别为方程的2个解double x2;double melt;int a;int b;//初始化ABC的三个变量...
推荐
猜你喜欢
- Please remember ( ) the door,when you leave.
- 下列说法中不正确的是 -3.14即是正数,分数,也是有理数 0既不是正数,也不是负数,但是整数 -2
- 如图,在直角梯形ABCD中,AB∥DC,AB⊥BC,∠A=60°,AB=2CD,E、F分别为AB、AD的中点,连接EF、EC、BF、CF. (1)四边形AECD的形状是_; (2)若CD=2,求CF的长.
- 春 春花图作者从哪几个角度观察描写的
- there is an earthquake happening in Yushu还是there is an earthquake happened in Yushu?
- 化石燃料是不可再生能源,但能不能通过化学反应制造出来
- 并求方程的解)
- 找出下列数字的规律:0,6,-6,18,-30,66……