有关C语言解一元二次方程问题我写的程序如下,在输入a,b,c后,所输入的值没有赋值到a,b,c里,请问我的问题出在哪里,请指教,先谢啦.:#include#include#includemain(){double a,b,c;double d=0,x1=0,x2=0;printf("\n")

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 20:00:42
有关C语言解一元二次方程问题我写的程序如下,在输入a,b,c后,所输入的值没有赋值到a,b,c里,请问我的问题出在哪里,请指教,先谢啦.:#include#include#includemain(){double a,b,c;double d=0,x1=0,x2=0;printf(

有关C语言解一元二次方程问题我写的程序如下,在输入a,b,c后,所输入的值没有赋值到a,b,c里,请问我的问题出在哪里,请指教,先谢啦.:#include#include#includemain(){double a,b,c;double d=0,x1=0,x2=0;printf("\n")
有关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语言解一元二次方程问题我写的程序如下,在输入a,b,c后,所输入的值没有赋值到a,b,c里,请问我的问题出在哪里,请指教,先谢啦.:#include#include#includemain(){double a,b,c;double d=0,x1=0,x2=0;printf("\n")
你声明的变量a,b,c都为double,所以用scanf时应用"%lf",还有,你为什么要用do{}while();循环呢,这样,不管你输入了a的值为多少,执行完while(a=0);之后,a的值就为0了,如果你硬是要用do...while的话,那while条件里应该用比较语句,而不是赋值语句,所以,应该是while(a==0);