C演算法之一元二次方程組的解
阿新 • • 發佈:2018-12-12
C語言版
#include <stdio.h> #include <math.h> int solution(double a,double b,double c,double &x1,double &x2) { double d; d=b*b-4*a*c; if (d>0) { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); return 2; //2個實根 } else if (d==0) { x1=(-b)/(2*a); return 1; //1個實根 } else //d<0的情況 return 0; //不存在實根 } int main() { double a=1,b=-2,c=1; double x1,x2; int s=solution(a,b,c,x1,x2); if (s==1) printf("一個根:x=%lf\n",x1); else if (s==2) printf("兩個根:x1=%lf,x2=%lf\n",x1,x2); else printf("沒有根\n"); return 1; }