第1个回答 2017-08-05
很高兴为您解答.原代码中的scanf和printf中的%要放在d和lf的前面才对,改正后运算无误~#include#includevoidmain(){doublex1;//x1,x2分别为方程的2个解doublex2;doublemelt;inta;intb;//初始化ABC的三个变量intc;printf("请输入abc三个数的值:");scanf("%d%d%d",&a,&b,&c);//输入ABC的时候需要空格melt=b*b-4*a*c;//初始化melt的值if(melt>0){x1=(-b+sqrt(melt))/(2*a);x2=(-b-sqrt(melt))/(2*a);printf("2个解,x1=%lf,x2=%lf\n",x1,x2);}elseif(melt==0){x1=(-b)/(2*a);x2=x1;printf("1个解,x1=%lf,x2=lf%\n",x1,x2);}else{printf("无解\n");}}如您还有不解,欢迎追问~