#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int a=0,b=0,c=0;
int D=0;
while(cin >> a >> b >> c )
{
D=b*b-4*a*c;
if(D<0)
{
cout << "No real root" << endl;
}
else if(D==0)
{
cout << "Two same roots x=" << ((-b)+sqrt(D))/2*a << endl;
}
else
{
cout << "Two different roots x1=" << ((-b)+sqrt(D))/2*a <<" , x2=" << ((-b)-sqrt(D))/2*a <<endl;
}
}
return 0;
}
#include
#include
using namespace std;
int main()
{
int a=0,b=0,c=0;
int D=0;
while(cin >> a >> b >> c )
{
D=b*b-4*a*c;
if(D<0)
{
cout << "No real root" << endl;
}
else if(D==0)
{
cout << "Two same roots x=" << ((-b)+sqrt(D))/2*a << endl;
}
else
{
cout << "Two different roots x1=" << ((-b)+sqrt(D))/2*a <<" , x2=" << ((-b)-sqrt(D))/2*a <<endl;
}
}
return 0;
}
藍色 部分應為「/ (2 * a)」而非「/ 2 * a」。
因為是要除以 2a 而不是 除以 2 再乘以 a ,您原本的寫法會變成後者的結果。(因為運算規則是:先乘除後加減,由左至右運算)
以上。希望有幫到您的忙。
#include
#include
using namespace std;
int main()
{
int a=0,b=0,c=0;
int D=0;
while(cin >> a >> b >> c )
{
D=b*b-4*a*c;
if(D<0)
{
cout << "No real root" << endl;
}
else if(D==0)
{
cout << "Two same roots x=" << ((-b)+sqrt(D))/2*a << endl;
}
else
{
cout << "Two different roots x1=" << ((-b)+sqrt(D))/2*a <<" , x2=" << ((-b)-sqrt(D))/2*a <<endl;
}
}
return 0;
}
藍色 部分應為「/ (2 * a)」而非「/ 2 * a」。
因為是要除以 2a 而不是 除以 2 再乘以 a ,您原本的寫法會變成後者的結果。(因為運算規則是:先乘除後加減,由左至右運算)
以上。希望有幫到您的忙。
謝謝您的協助!