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


jason569810 (Smile_Jie)

學校 : 國立臺灣科技大學
編號 : 47683
來源 : [140.118.230.90]
最後登入時間 :
2015-06-06 11:21:17
a006. 一元二次方程式 | From: [106.104.39.142] | 發表日期 : 2015-01-31 11:59

 我是用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 (踢到電源線。)

學校 : 臺北市立大安高級工業職業學校
編號 : 47347
來源 : [218.161.3.50]
最後登入時間 :
2016-08-04 15:36:40
a006. 一元二次方程式 | From: [220.133.46.45] | 發表日期 : 2015-02-02 10:30

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