编写程序,任意输入一元二次方程的三个实系数a、b和c,计算并输出该方程所有可能的解。该一元二次方程为:ax2+bx+c=0
此题需要讨论delta和a,b,c取值的情况,通过if语句即可顺利求出
#include#include void main() { float a,b,c,delt,x1,x2; printf("请输入a,b,c的值"); scanf("%f,%f,%f",&a,&b,&c); delt=b*b-4*a*c; if(a==0&&b==0&&c==0) printf("x1与x2为任意数"); if(a==0&&b!=0&&c!=0) { x1=-c/b; printf("x1=x2=%f",x1); } else if(a==0&&b==0&&c!=0) printf("error!"); if(a!=0&&b!=0&&c!=0) { if(delt>0) { printf("x1=%f",(-b+sqrt(delt))/(2*a)); printf("x2=%f",(-b-sqrt(delt))/(2*a)); } if(delt<0) { printf("x1=%f+i%f",-b/(2*a),sqrt(-delt)/(2*a)); printf("x2=%f-i%f",-b/(2*a),sqrt(-delt)/(2*a)); } if(delt=0) printf("x1=x2=%f",delt); }



