編寫函式root(double a,double b,double c)和main(),在主函式中輸入一元二次方程的係數x,y,z,然後呼叫root函式求解此方程的根(實根和復根)並輸出。
程式碼:
測試1:
測試2:
測試3:
編寫函式root(double a,double b,double c)和main(),在主函式中輸入一元二次方程的係數x,y,z,然後呼叫root函式求解此方程的根(實根和復根)並輸出。
程式碼:
#include <stdio.h>#include <math.h>void root(double a,double b,double c);void main(){ double x,y,z; printf("請輸入一元二次方程x-y-z的值:"); scanf("%lf,%lf,%lf",&x,&y,&z); root(x,y,z);}void root(double a,double b,double c){ double p,x1,x2; p=b*b-4*a*c; if(p>0){ x1=(-b+sqrt(p))/(2*a); x2=(-b-sqrt(p))/(2*a); printf("方程有兩個不同的實根:x1=%.2lf,x2=%.2lf\n",x1,x2); } else if(p==0){ x1=(-b)/(2*a); printf("方程有兩個相同的實根:x1=x2=%.2lf\n",x1); }else{ x1=(-b)/(2*a); x2=sqrt(fabs(p))/(2*a); printf("方程有兩個不同的虛根:x1=%.2lf+%.2lfi,x2=%.2lf-%.2lfi\n",x1,x2,x1,x2); } }測試1:
測試2:
測試3: