当前位置: 代码迷 >> C语言 >> 求一元二次方程的菜鸟问题
  详细解决方案

求一元二次方程的菜鸟问题

热度:523   发布时间:2006-10-15 18:03:09.0
求一元二次方程的菜鸟问题
#include <stdio.h>
#include <math.h>
main()
{
float a,b,c,x1,x2,delta;
printf("ax^2+bx+c=0\na=? b=? c=?\n");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
delta=(b*b-4*a*c);
if (delta<0)
printf("No result");
else
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("x1=%f,x2=%f",x1,x2);
}


大家不要笑我,结果为什么不对啊?
搜索更多相关的解决方案: delta  一元二次方程  printf  amp  

----------------解决方案--------------------------------------------------------
程序代码:
#include <stdio.h>
#include <math.h>
main()
{
float a,b,c,x1,x2,delta;
printf(\"ax^2+bx+c=0\na=? b=? c=?\n\");
scanf(\"a=%f,b=%f,c=%f\",&a,&b,&c);//输入是要注意你的格式,如a=1,b=2,c=1这样
delta=b*b-4*a*c;
if (delta<0)
printf(\"No result\n\");
else {x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf(\"x1=%f,x2=%f\n\",x1,x2); }
}

----------------解决方案--------------------------------------------------------
如果a=0时,程序就出错
----------------解决方案--------------------------------------------------------

再多个条件就行了

程序代码:
#include <stdio.h>
#include <math.h>
main()
{
float a,b,c,x1,x2,delta;
printf(\"ax^2+bx+c=0\na=? b=? c=?\n\");
scanf(\"a=%f,b=%f,c=%f\",&a,&b,&c);
delta=b*b-4*a*c;
if(a==0&&b!=0)
x1=x2=-c/b;
else if(delta<0||b==0)
{printf(\"No result\n\");return;}
else
{ x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
}
printf(\"x1=%f,x2=%f\n\",x1,x2);

}


----------------解决方案--------------------------------------------------------
a=b=c=0,有无数多解.

鉴定完毕!
----------------解决方案--------------------------------------------------------

bug


----------------解决方案--------------------------------------------------------

楼主,你给别人在提示的时候的格式是"a=%f,b=%f,c=%f",那么你在输入的时候的"a=(括号内为输入的数字),b=(括号内为输入的数字),c=(括号内为输入的数字),"a,b,c,还是有逗号,就不能省略.
所以在进行输入的时候最后写成"%f%f%f,&a,&b,&c",在输入数字的时候在数字中间按空格,Tab键,或回车就ok了!


----------------解决方案--------------------------------------------------------

scanf函数里的格式控制那段 越简洁越好
printf函数里的格式控制写的越详细越好
两者恰好相反!!!


----------------解决方案--------------------------------------------------------

谢谢好多高手啊!其实这个选择语句老师那天还没讲,今天听了后才知道这问题有多简单。但是我觉得不会的就要拿出来问,不管有多简单。
这里的人好热情,谢谢谢谢。


----------------解决方案--------------------------------------------------------
  相关解决方案