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 3
Sample Output
NO YES YES NO
这个题主要是是比较两个数是否相等,唯一的陷阱是小数点后的0的个数会影响判断,这个代码的核心算法是看的一个大神的
代码;
#include <stdio.h> #include <string.h> void A(char *s) { int len = strlen(s); char *p=s+len-1; if (strchr(s,'.'))//查找字符串s中首次出现字符c的位置 while (*p=='0') *p--=0; if(*p=='.') *p=0; } int main(void) { char *pa, *pb; char a[100024], b[100024]; while (scanf("%s%s", &a, &b) != EOF) { pa=a; pb=b; while (*pa=='0') pa++; while (*pb=='0') pb++; A(pa); A(pb); if(strcmp(pa, pb)==0) printf("YES\n"); else printf("NO\n"); } }
.