今天偶然翻着题库发现一道很少有人做的题,点开一看乐坏我了
字符串模拟处理
题目描述
A+B问题早已经被大家所熟知了,是不是很无聊呢?现在大家来做一下A-B吧。
现在有两个实数A和B,聪明的你,能不能判断出A-B的值是否等于0呢?
输入
有多组测试数据。每组数据包括两行,分别代表A和B。
它们的位数小于100,且每个数字前中可能包含+,- 号。
每个数字前面和后面都可能有多余的0。
每组测试数据后有一空行。
输出
对于每组数据,输出一行。如果A-B=0,输出YES,否则输出NO。
样例输入
1 1
1.0 2.0
样例输出
YES
NO
粉简单那,转换就好了啊~
字符串模拟处理
题目描述
A+B问题早已经被大家所熟知了,是不是很无聊呢?现在大家来做一下A-B吧。
现在有两个实数A和B,聪明的你,能不能判断出A-B的值是否等于0呢?
输入
有多组测试数据。每组数据包括两行,分别代表A和B。
它们的位数小于100,且每个数字前中可能包含+,- 号。
每个数字前面和后面都可能有多余的0。
每组测试数据后有一空行。
输出
对于每组数据,输出一行。如果A-B=0,输出YES,否则输出NO。
样例输入
1 1
1.0 2.0
样例输出
YES
NO
粉简单那,转换就好了啊~
安全起见,我直接进行了double和string的转换,分分钟就过了呢~
使用函数的时候千万注意头文件sstream~
#include<iostream>
#include<string>
#include<sstream>
using namespace std;
double changesd(const string &temp1)//int
{
double temp2;//int
stringstream stream(temp1);
stream>>temp2;
return temp2;
}
/*
string changeds(const double &temp2)
{
string temp1;
stringstream stream;
stream<<temp2;
temp1=stream.str(); //此处也可以用 stream>>temp1
return temp1;
}
*/
int main()
{
string a,b;
while(cin>>a>>b)
{
//cout<<changesd(a)<<endl<<changesd(b)<<endl;
if(changesd(a)-changesd(b)==0)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
//cout<<changeds(changesd(a))<<endl<<changeds(changesd(b))<<endl;
}
return 0;
}