首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

生手。求一元二次方程的根。运行不出来,求帮助

2013-04-20 
新手。求一元二次方程的根。运行不出来,求帮助。#includestdio.h#includemath.hint main(){double a,b,c,

新手。求一元二次方程的根。运行不出来,求帮助。
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,x1,x2,temp1,temp;
scanf("%lf %lf %lf",&a,&b,&c);
if(a==0)
{
x1=-c/b;
printf("不是一元二次方程\n");
printf("x1=%lf\n",x1);
}
else

temp=(b*b-4*a*c);
if(temp=0)
{
printf("该方程有两个相等的根!\n");
x1=-b/(2*a);
x2=x1;
printf("x1=%lf,x2=%lf",x1,x2);
}
else if(temp>0)
{
printf("该方程有两个人不等的根!\n");
            temp1=sqrt(temp);
x1=(-b-temp1)/2/a;
x2=(-b+temp1)/2/a;
printf("x1=%lf,x2=%lf",x1,x2);
}
else if(temp<0)
{
printf("该方程在实数范围内无解");
}
 return 0;
}
}
运行不出来,求大神改正。备注错误的地方,谢谢。
[解决办法]


#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,x1,x2,temp1,temp;
scanf("%lf %lf %lf",&a,&b,&c);
if(a==0)
{
x1=-c/b;
printf("不是一元二次方程\n");
printf("x1=%lf\n",x1);
}
else

temp=(b*b-4*a*c);
if(temp==0)//判断相等要用==, 不是=
{
printf("该方程有两个相等的根!\n");
x1=-b/(2*a);
x2=x1;
printf("x1=%lf,x2=%lf",x1,x2);
}else if(temp>0)
{
printf("该方程有两个人不等的根!\n");
temp1=sqrt(temp);
x1=(-b-temp1)/2/a;
x2=(-b+temp1)/2/a;
printf("x1=%lf,x2=%lf",x1,x2);
}else if(temp<0)
{
printf("该方程在实数范围内无解");
}
}
return 0;
}

热点排行