描述
求A+B是否与C相等。
- 输入
- T组测试数据。
每组数据中有三个实数A,B,C(-10000.0<=A,B<=10000.0,-20000.0<=C<=20000.0)
数据保证小数点后不超过4位。 - 输出
- 如果相等则输出Yes
不相等则输出No - 样例输入
-
3 -11.1 +11.1 0 11 -11.25 -0.25 1 2 +4
- 样例输出
-
Yes Yes No
1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6 { int n; 7 double a,b,c; 8 cin>>n; 9 while(n--) 10 { 11 cin>>a>>b>>c; 12 if(a+b-c>-0.0001&&a+b-c<0.0001) cout<<"Yes"<<endl; 13 else cout<<"No"<<endl; 14 } 15 return 0; 16 }
关键在于:if(A+B-C>-0.0001&&A+B-C<0.0001) //数据保证小数点后不超过4位,也就是决定了允许有一定的误差,浮点运算存在误差在(-0.0001—0.0001)。
如果不考虑这一点就会出错。
时间: 2024-12-24 05:41:36