有关C语言解一元二次方程问题
我写的程序如下,在输入a,b,c后,所输入的值没有赋值到a,b,c里,请问我的问题出在哪里,请指教,先谢啦.:
#include
#include
#include
main()
{
double a,b,c;
double d=0,x1=0,x2=0;
printf(\n);
do
{
printf(请输入a(a!=0)值:);
scanf(%f,&a);
}while(a=0);
printf(请输入b值:);
scanf(%f,&b);
printf(请输入c值:);
scanf(%f,&c);
printf(a=%f,b=%f,c=%f\n,a,b,c);
d=pow(b,2)-4*a*c;
if((d>=0))
{
printf(方程式有实根.\n);
}
else
{
printf(方程式有虚根.\n);
}
x1=(-(double)b+sqrt(d))/(2*(double)a);
x2=(-(double)b-sqrt(d))/(2*(double)a);
printf(方程式的根x1=%f\n,x1);
printf(方程式的根x2=%f\n,x2);
system(pause);
return 0;
}
有关C语言解一元二次方程问题
答案:1 悬赏:70 手机版
解决时间 2021-05-21 22:01
- 提问者网友:棒棒糖
- 2021-05-21 00:43
最佳答案
- 五星知识达人网友:上分大魔王
- 2021-05-21 01:53
你声明的变量a,b,c都为double,所以用scanf时应用%lf,还有,你为什么要用do{}while();循环呢,这样,不管你输入了a的值为多少,执行完while(a=0);之后,a的值就为0了,如果你硬是要用do...while的话,那while条件里应该用比较语句,而不是赋值语句,所以,应该是while(a==0);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯