c语言 给定一元二次方程的系数a,b,c,求方程的解。用开方函数
1个回答
展开全部
参考代码如下:
#include<stdio.h>
#include<math.h>
#define EPS 1e-6
int main(void)
{
float a,b,c,p,q,disc;
printf("ax*x+bx+c=0\n");
printf("请输入a b c:");
scanf("%f%f%f",&a,&b,&c);
p=-b/(2*a);
disc=b*b-4*a*c;
q=sqrt(fabs(disc))/(2*a);
if(fabs(a)<=EPS)//解决浮点数相等比较问题
printf("参数错误\n");
else if(fabs(disc)<=EPS)
printf("x1=x2=%.2f\n",p);
else if(disc>0){
printf("x1=%.2f\n",p+q);
printf("x2=%.2f\n",p-q);
} else {
printf("x1=%.2f+%.2fi\n",p,q);
printf("x2=%.2f-%.2fi\n",p,q);
}
return 0;
}
#include<stdio.h>
#include<math.h>
#define EPS 1e-6
int main(void)
{
float a,b,c,p,q,disc;
printf("ax*x+bx+c=0\n");
printf("请输入a b c:");
scanf("%f%f%f",&a,&b,&c);
p=-b/(2*a);
disc=b*b-4*a*c;
q=sqrt(fabs(disc))/(2*a);
if(fabs(a)<=EPS)//解决浮点数相等比较问题
printf("参数错误\n");
else if(fabs(disc)<=EPS)
printf("x1=x2=%.2f\n",p);
else if(disc>0){
printf("x1=%.2f\n",p+q);
printf("x2=%.2f\n",p-q);
} else {
printf("x1=%.2f+%.2fi\n",p,q);
printf("x2=%.2f-%.2fi\n",p,q);
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询