#21381: 到底 為什麼最後一個測資過不了ㄚㄚㄚ?


justin911121@gmail.com (汀)

學校 : 不指定學校
編號 : 103986
來源 : [122.100.75.211]
最後登入時間 :
2023-12-05 04:23:24
a006. 一元二次方程式 | From: [110.30.161.49] | 發表日期 : 2020-05-24 18:30

請教一下為什麼最後一個測資過不了

#include <iostream>

#include <math.h>

using namespace std;

 

int main()

{

float a,b,c,x,y;

double D;

cin>>a>>b>>c;

x>=y;

D=b * b-4 * a * c;

if(D > 0)

{

x=0.5 * a *(-b + sqrt(b * b - 4* a * c));

y=0.5 * a *(-b - sqrt(b * b - 4* a * c));

cout<<"Two different roots x1="<< x <<" , x2="<<y;

}

else if(D ==0)

{

x=0.5 * a *(-b + sqrt(b * b - 4* a * c));

cout<<"Two same roots x="<<x;

}

else if(D<0){

cout<<"No real root";

}

 

}

 
#21384: Re:到底 為什麼最後一個測資過不了ㄚㄚㄚ?


36563120 (雨)

學校 : 國立彰化師範大學
編號 : 121990
來源 : [120.107.188.16]
最後登入時間 :
2020-06-26 03:42:56
a006. 一元二次方程式 | From: [120.107.188.16] | 發表日期 : 2020-05-24 21:52

請教一下為什麼最後一個測資過不了

#include

#include

using namespace std;

 

int main()

{

float a,b,c,x,y;

double D;

cin>>a>>b>>c;

x>=y;

D=b * b-4 * a * c;

if(D > 0)

{

x=0.5 * a *(-b + sqrt(b * b - 4* a * c));

y=0.5 * a *(-b - sqrt(b * b - 4* a * c));

cout<<"Two different roots x1="<< x <<" , x2="<<y;

}

else if(D ==0)

{

x=0.5 * a *(-b + sqrt(b * b - 4* a * c));

cout<<"Two same roots x="<<x;

}

else if(D<0){

cout<<"No real root";

}

 

}

首先,把資料型態int 改成float

再來x>=y這句不必要我刪了

最後,公式應該為x=(-b + sqrt(b * b - 4* a * c))/(2*a);

0.5 * a *(-b + sqrt(b * b - 4* a * c));  <一這個是( a *(-b + sqrt(b * b - 4* a * c)))/2

要除以a不是乘以a

 

#include <iostream>

#include <math.h>

using namespace std;

 

int main()

 

{

int a,b,c,x,y;

double D;

 

cin>>a>>b>>c;

D=b * b-4 * a * c;

 

if(D > 0)

 

{

x=(-b + sqrt(b * b - 4* a * c))/(2*a);

 

y=(-b - sqrt(b * b - 4* a * c))/(2*a);

 

cout<<"Two different roots x1="<< x <<" , x2="<<y<<endl;

 

}

else if(D ==0)

{

x=(-b - sqrt(b * b - 4* a * c))/(2*a);

cout<<"Two same roots x="<<x<<endl;

}

else if(D<0)

{

cout<<"No real root"<<endl;

}

}

 
#21386: Re:到底 為什麼最後一個測資過不了ㄚㄚㄚ?


justin911121@gmail.com (汀)

學校 : 不指定學校
編號 : 103986
來源 : [122.100.75.211]
最後登入時間 :
2023-12-05 04:23:24
a006. 一元二次方程式 | From: [110.30.161.49] | 發表日期 : 2020-05-24 22:51

請教一下為什麼最後一個測資過不了

#include

#include

using namespace std;

 

int main()

{

float a,b,c,x,y;

double D;

cin>>a>>b>>c;

x>=y;

D=b * b-4 * a * c;

if(D > 0)

{

x=0.5 * a *(-b + sqrt(b * b - 4* a * c));

y=0.5 * a *(-b - sqrt(b * b - 4* a * c));

cout<<"Two different roots x1="<< x <<" , x2="<<y;

}

else if(D ==0)

{

x=0.5 * a *(-b + sqrt(b * b - 4* a * c));

cout<<"Two same roots x="<<x;

}

else if(D<0){

cout<<"No real root";

}

 

}

首先,把資料型態int 改成float

再來x>=y這句不必要我刪了

最後,公式應該為x=(-b + sqrt(b * b - 4* a * c))/(2*a);

0.5 * a *(-b + sqrt(b * b - 4* a * c));  <一這個是( a *(-b + sqrt(b * b - 4* a * c)))/2

要除以a不是乘以a

 

#include

#include

using namespace std;

 

int main()

 

{

int a,b,c,x,y;

double D;

 

cin>>a>>b>>c;

D=b * b-4 * a * c;

 

if(D > 0)

 

{

x=(-b + sqrt(b * b - 4* a * c))/(2*a);

 

y=(-b - sqrt(b * b - 4* a * c))/(2*a);

 

cout<<"Two different roots x1="<< x <<" , x2="<<y<<endl;

 

}

else if(D ==0)

{

x=(-b - sqrt(b * b - 4* a * c))/(2*a);

cout<<"Two same roots x="<<x<<endl;

}

else if(D<0)

{

cout<<

 

非常感謝

 
#21389: Re:到底 為什麼最後一個測資過不了ㄚㄚㄚ?


36563120 (雨)

學校 : 國立彰化師範大學
編號 : 121990
來源 : [120.107.188.16]
最後登入時間 :
2020-06-26 03:42:56
a006. 一元二次方程式 | From: [120.107.188.16] | 發表日期 : 2020-05-25 03:30

首先,把資料型態int 改成float

不好意思口誤了

應該是把float改成int!

 
ZeroJudge Forum