A == B ?
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 88211 Accepted Submission(s): 13922Problem Description
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 3Sample Output
NO
YES
YES
NO
本以为是一道水题,没想到处处坑点,被坑了一发。。
数组尽量开大一点,注意小数后无意义的0
AC代码:
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 6 const int MAX=100000; 7 char a[MAX]={0},b[MAX]={0}; 8 9 int main(){ 10 11 while(scanf("%s %s",&a,&b)!=EOF){ 12 int i=0; 13 if(strchr(a,‘.‘)){//a中是否含小数点 14 for(i=strlen(a)-1;a[i]==‘0‘;i--) 15 a[i]=‘\0‘;//消掉末尾的0 16 if(a[i]=‘.‘) 17 a[i]=‘\0‘;//消掉无意义的小数点 18 } 19 if(strchr(b,‘.‘)){ 20 for(i=strlen(b)-1;b[i]==‘0‘;i--) 21 b[i]=‘\0‘; 22 if(b[i]=‘.‘) 23 b[i]=‘\0‘; 24 } 25 printf(strcmp(a,b)?"NO\n":"YES\n");//strcmp函数当a,b相等时返回值为0 26 } 27 return 0; 28 }
时间: 2024-10-25 20:54:34