测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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; }
上一题 下一题