A == B ?
Describe
Give you two numbers A and B, if A is equal to B, you should print “YES”, or print “NO”.
Input
each test case contains two numbers A and B.
Output
for each case, if A is equal to B, you should print “YES”, or print “NO”.
Sample Input
1 2
2 2
3 3
4 3
Sample Output
NO
YES
YES
NO
看起来像水题,其实是大数比较,细节较多,需要去除前导0和后导0,还要注意是否除掉小数点,之后才能安安心心比较。
#include<iostream>
#include<cstring>
using namespace std;
char* change(char *a);
char a[100000],b[100000];
int main()
{
while(cin>>a>>b)
{
if(!strcmp(change(a),change(b)))
cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
char* change(char *a)
{
int len=strlen(a);
if(strstr(a,"."))
{
int j=len-1;
while(a[j]=='0')
{
a[j]='\0';
j--;
len--;
}
if(a[j]=='.')
a[j]='\0';
}
if(a[0]=='0')
{
while(a[0]=='0')
{
for(int i=0;i<len-1;i++)
a[i]=a[i+1];
a[len-1]='\0';
len--;
}
}
return a;
}