#10336: 最後一個測資點過不了,正確:x=-1(重根),我的輸出為x=-2(重根)


s69888s69888 (ALLEN)

學校 : 政治大學
編號 : 52590
來源 : [140.119.136.124]
最後登入時間 :
2018-04-01 02:20:17
a006. 一元二次方程式 | From: [140.119.191.234] | 發表日期 : 2015-10-09 01:58

#include<stdio.h>

#include<math.h>

 

 

int main(void){

int a,b,c,x1,x2,s;

 

while(scanf("%d%d%d",&a,&b,&c)!=EOF){

if(b*b-4*a*c>=0){

s=sqrt(b*b-4*a*c);

x1=(-b+s)/2;

       x2=(-b-s)/2;

       if(x1==x2){

       printf("Two same roots x=%d\n",x2);

}

       else if(x1>x2){

       printf("Two different roots x1=%d , x2=%d\n",x1,x2);

}

       else {

       printf("Two different roots x1=%d , x2=%d\n",x2,x1);

}

}

        else {

printf("No real root\n");

}

}

 

return 0;

}

 
#10337: Re:最後一個測資點過不了,正確:x=-1(重根),我的輸出為x=-2(重根)


Benson86 (nobodyzxc)

學校 : 國立彰化高級中學
編號 : 53437
來源 : [140.113.128.187]
最後登入時間 :
2020-02-25 00:10:53
a006. 一元二次方程式 | From: [140.119.194.86] | 發表日期 : 2015-10-09 02:59

x1=(-b+s)/(2*a); x2=(-b-s)/(2*a); 然後建議判別式先用if,else if分流再進行運算, 不要一開始就算否則會白算又容易出錯 
#10338: Re:最後一個測資點過不了,正確:x=-1(重根),我的輸出為x=-2(重根)


s69888s69888 (ALLEN)

學校 : 政治大學
編號 : 52590
來源 : [140.119.136.124]
最後登入時間 :
2018-04-01 02:20:17
a006. 一元二次方程式 | From: [140.119.191.234] | 發表日期 : 2015-10-09 14:40

x1=(-b+s)/(2*a); x2=(-b-s)/(2*a); 然後建議判別式先用if,else if分流再進行運算, 不要一開始就算否則會白算又容易出錯

謝謝,我找到問題點了

 
ZeroJudge Forum