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
第一个方案
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
double a,b;
while(cin>>a>>b)
{
if(a==b)
cout<<"YES"<<endl;
else if(a!=b)
cout<<"NO"<<endl;
}
}
没有考虑位数和小数点的问题
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
#define LEN 100000
int main() {
char a[LEN];
char b[LEN];
int lena, lenb, len, i;
while(cin >> a >> b) {
lena = 0;
lenb = 0;
len = strlen(a);
len--;
for(i = 0; i <= len; i++)
{if(a[i] == '.')
{ lena = i;//a的整数位数
break;
}
}
while(a[len] == '0' && len > lena && lena != 0)
{
a[len] = '\0';
len--;
}
if(a[len] == '.') {
a[len] = '\0';
}
len = strlen(b);
len--;
for(i = 0; i <= len; i++) {
if(b[i] == '.') {
lenb = i;
break;
}
}
while(b[len] == '0' && len > lenb && lenb != 0) {
b[len] = '\0';
len--;
}
if(b[len] == '.') {
b[len] = '\0';
}
if(strcmp(a, b) == 0) {
cout << "YES" << endl;
}
else {
cout << "NO" << endl;
}
}
return 0;
}