#11492: 最後檢測點未過


a8721127 (kevin)

學校 : 高雄市立高雄高級中學
編號 : 61207
來源 : [163.32.78.53]
最後登入時間 :
2016-11-30 11:36:52
a006. 一元二次方程式 | From: [163.32.78.53] | 發表日期 : 2016-11-02 11:18

小弟寫的程式碼如下:

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int a,b,c;
while(cin>>a>>b>>c)
if(b*b-4*a*c==0)
cout<<"Two same roots x="<<-b/2*a<<endl;
else if(b*b-4*a*c<0)
cout<<"No real root"<<endl;
else if(b*b-4*a*c>0)
cout<<"Two different roots x1="<<(-b+sqrt(b*b-4*a*c))/2*a <<" , x2="<< (-b-sqrt(b*b-4*a*c))/2*a<<endl;

}

前面4個全部ac

為什麼第5個wa??

請高手幫忙

 

 
#11642: Re:最後檢測點未過


zenuie (tssh std)

學校 : 新北市立泰山高級中學
編號 : 62732
來源 : [111.71.212.61]
最後登入時間 :
2024-02-02 20:22:04
a006. 一元二次方程式 | From: [42.72.136.28] | 發表日期 : 2016-12-28 21:04

小弟寫的程式碼如下:

#include
#include
using namespace std;
int main()
{
int a,b,c;
while(cin>>a>>b>>c)
if(b*b-4*a*c==0)
cout<<"Two same roots x="<<-b/2*a<<endl;
else if(b*b-4*a*c<0)
cout<<"No real root"<<endl;
else if(b*b-4*a*c>0)
cout<<"Two different roots x1="<<(-b+sqrt(b*b-4*a*c))/2*a <<" , x2="<< (-b-sqrt(b*b-4*a*c))/2*a<<endl;

}

前面4個全部ac

為什麼第5個wa??

請高手幫忙

 


先乘除後加減 由左至右

最後一行

cout<<"Two different roots x1="<<(-b+sqrt(b*b-4*a*c))/2*a <<" , x2="<< (-b-sqrt(b*b-4*a*c))/2*a<<endl;

我其實不知道是不是這個原因

 
ZeroJudge Forum