#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c,x;
double disc,x1,x2;
scanf("%d %d %d",&a,&b,&c);
disc=b*b-4*a*c;
if (fabs(disc)<1e-6)
printf("\"NO\"");
else
{
if (fabs(disc)>1e-6)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
if (x1==(int)x1&&x2==(int)x2)
printf("%d %d",x1,x2);
else printf("\"NO\"");
}
else
{
x=(-b)/2*a;
if (x=(int)x)
printf("%d",x);
else printf("NO");
}
}
return 0;
}
1 回答
已采納

qq_莫非
TA貢獻(xiàn)257條經(jīng)驗(yàn) 獲得超93個(gè)贊
#include?<stdio.h>?? #include?<math.h>? void?main?()? {? ?double?sqrt(double?x);? ?int?a,b,c;? ?double?x1,x2,x,e,d,g,f;? scanf("%d?%d?%d",&a,&b,&c);? ??d=b*b-4*a*c;?? if?(a==0)? {??????if?(b!=0)? {x=-(double)c/(double)b;? if?(x==0)? {x=-x;? printf("x=%.6lf\n",x);}? else? printf("x=%.6lf\n",x);? }? ????else? ?????printf("Input?error!\n");}? else?if?(d<0)? {d=-d;? e=sqrt(d);? g=-(double)b/(2*(double)a);? f=e/(2*a);? ????if?(g!=0)? ?????printf("x1=%.6lf+%.6lfi\nx2=%.6lf-%.6lfi\n",g,f,g,f);? ????else? ????printf("x1=%.6lfi\nx2=-%.6lfi\n",f,f);}? else?if?(d==0)? {?????x1=x2=-b/(2*a);? ??????printf("x1=x2=%.6lf\n",x1);}? ??????else? ??{????e=sqrt(d);? ???????x1=(-b+e)/(2*a);? ??????????x2=(-b-e)/(2*a);? ??????????printf("x1=%.6lf\nx2=%.6lf\n",x1,x2);}? }
- 1 回答
- 0 關(guān)注
- 1248 瀏覽
添加回答
舉報(bào)
0/150
提交
取消