#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a,b,c,d,e,f;
cin>>a>>b>>c>>d>>e>>f;
float x,y;
if((a*e-d*b)!=0)
{
x=(c*e-b*f)/(a*e-d*b);
y=(a*f-c*d)/(a*e-d*b);
cout<<"x="<<fixed<<setprecision(2)<<x<<endl;
cout<<"y="<<fixed<<setprecision(2)<<y<<endl;
}
else if((a*e-d*b)==0)
{
if((c*e-b*f)==(a*f-c*d)==0)
{
cout<<"Too many"<<endl;
}
else if((c*e-b*f)==0||(a*f-c*d)==0)
{
cout<<"No answer"<<endl;
}
}
return 0;
}
#include
#include
using namespace std;
int main()
{
int a,b,c,d,e,f;
cin>>a>>b>>c>>d>>e>>f;
float x,y;
if((a*e-d*b)!=0)
{
x=(c*e-b*f)/(a*e-d*b);
y=(a*f-c*d)/(a*e-d*b);
cout<<"x="<<fixed<<setprecision(2)<<x<<endl;
cout<<"y="<<fixed<<setprecision(2)<<y<<endl;
}
else if((a*e-d*b)==0)
{
if((c*e-b*f)==(a*f-c*d)==0)
{
cout<<"Too many"<<endl;
}
else if((c*e-b*f)==0||(a*f-c*d)==0)
{
cout<<"No answer"<<endl;
}
}
return 0;
}
1. 雖然你的x和y是float,但是在C++中,int除int還是int,小數點後的數字還是沒了,你可以先轉換成float再除
2. (c*e-b*f)==(a*f-c*d)==0這裡有問題,你應該是想要判斷這兩個都是0吧?這裡應該改成(c*e-b*f)==0 && (a*f-c*d)==0
(你這種寫法是完全不同的意思,可參考https://www.includehelp.com/c/how-expression-with-multiple-comparison-evaluates-in-c-programming.aspx)
3. else if((c*e-b*f)==0||(a*f-c*d)==0)改成else