方程求解

来源:互联网 发布:mysql 统计重复数据 编辑:程序博客网 时间:2024/04/20 09:44

题目:求 ax^2+bx+c=0\, 方程的解

【代码】

#include<stdio.h>#include<math.h>int main(){double a,b,c,dis,x1,x2;printf("Please input a b c \n");scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);//注意这里是lfif(fabs(a)<=1e-6)//实数在计算和存储时可能会出现一些微小误差,因此不能直接进行是否等于0的判断printf("The root is %lf\n",-c/b);else{dis=b*b-4*a*c;if(fabs(dis)<=1e-6)printf("The roots are %lf\n",-b/(2*a));else if(dis >=1e-6){x1=-b/(2*a);x2=sqrt(dis)/(2*a);printf("The roots are %lf and %lf\n", x1+x2,x1-x2);}else{x1=-b/(2*a);x2=sqrt(-dis)/(2*a);printf("The roots are %lf+%lfi and %lf-%lfi\n", x1,x2,x1,x2);}}return 0;}


原创粉丝点击