#9625: C語言判斷式>0 ==0


jason569810 (Smile_Jie)


 我是用C語言寫的
不知道為什麼這樣不行
好像是 當判斷式>0 和 ==0時的時候錯誤
但是我找不出來
希望大家能幫我找出問題 拜託了~~感謝!!! >< 
 
#include <stdio.h>
#include <math.h>
int main(){
int a,b,c,x,y;
double d,e;
while(scanf("%d",&a)!=EOF){
scanf("%d %d",&b,&c);
x=b^2-4*a*c;
if(x>0){
d=(-b+sqrt(x))/2*a;
e=(-b-sqrt(x))/2*a;
printf("Two different roots x1=%.0f , x2=%.0f \n",round(d),round(e));
}
else if(x==0){
d=(-b+sqrt(x))/2*a;
printf("Two same roots x=%f\n",d);
}
    else if(x<0){
    printf("No real root\n");
}
    }
return 0;
}
#9627: Re:C語言判斷式>0 ==0


chiuhans111 (踢到電源線。)


c語言" ^ "是XOR邏輯運算 不是次方
你可以改用pow(b,2)
 
(還有 x==0的時候 -b/2*a 即可