#8265: 為啥不能用float


hankedward35 (熱血王子EDWARD)

學校 : 國立交通大學
編號 : 35420
來源 : [140.113.247.118]
最後登入時間 :
2014-02-05 13:20:41
a006. 一元二次方程式 | From: [140.113.247.118] | 發表日期 : 2013-10-03 00:53

//一元二次方程式
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    float a,b,c;
    
    while(cin >> a >> b >> c )
    {
        if(b*b -4*a*c <0)
                       
             cout << "No real root" << endl;
             
        else if (b*b -4*a*c ==0)
        
             cout << "Two same roots x=" <<-b / (2*a) << endl;
        
        else
            
            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;
    }   
    
    return 0;
}
 
這樣是錯的會有-0
但為啥用int就會成功呢?? 
 
#9964: Re:為啥不能用float


q0978298512 (超人)

學校 : 國立屏東大學
編號 : 50344
來源 : [218.164.50.183]
最後登入時間 :
2015-09-23 23:40:07
a006. 一元二次方程式 | From: [118.171.192.42] | 發表日期 : 2015-06-30 19:49

會不會是因為int不會顯示小數?
 
ZeroJudge Forum