A41091. 自定义函数求一元二次方程
填空题
较易
知识点
题目描述
自定义函数求一元二次方程
题目描述
求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。
输入格式
a b c
输出格式
x1=? x2=?
样例输入
4 1 1
样例输出
x1=-0.125+0.484i x2=-0.125-0.484i
参考答案
#include<stdio.h>
#include<math.h>
/* #include<math.h> 应为要实现指数和开根所以分别要使
用pow函数和sqrt函数 pow(变量,指数) sqrt(变量)
*/
int main()
{
double a,b,c,deta; //应为有小数,为了方便全部定义为双精度
double x1,x2;
scanf("%lf %lf %lf",&a,&b,&c);
deta=pow(b,2)-4*a*c; //计算判断式的值
if(deta>0) //deta大于0
{
x1=(-b+sqrt(deta))/2*a;
x2=(-b-sqrt(deta))/2*a;
printf("x1=%.3lf x2=%.3lf\n",x1,x2);
}
else if(deta == 0) //deta等于0
{
x1=(-b)/(2*a);
x2=(-b)/(2*a);
printf("x1=%.3lf x2=%.3lf\n",x1,x2);
}
else //deta小于0
{
double m,n; //因为是共轭复根,定义两个变量
m=(-b)/(2*a);
n=sqrt(-deta)/(2*a);
printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi\n",m,n,m,n);
}
return 0;
}
上一题
下一题