A == B ?
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 59168 Accepted Submission(s): 9127
Problem 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#include<stdio.h> #include<string.h> #define maxn 100000+5 //数组一定要开到十万以上,否则会WA void strip(char *s) { char *p; p=&s[0]+strlen(s)-1;//指针赋值要将 * 去掉,因为是将指针变量指向的一个地址 if(strchr(s,'.')!=NULL)//表示字符串 s 中'.'的地址,如果存在,可以令一个指针 *pp=strchr(s,'X');不存在则返回 NULL while(*p=='0') *p--=0;//等价于*p--=NULL; if(*p=='.') *p=0; } int main() { char *p; char *pa,*pb; char a[maxn],b[maxn]; while(scanf("%s%s",a,b)!=EOF) { pa=a;pb=b; while(*pa=='0')//去掉前导0 *pa++; while(*pb=='0') *pb++; strip(pa); strip(pb); // puts(pa); // puts(pb); printf(strcmp(pa,pb)==0? "YES\n":"NO\n"); } return 0; }//注:参考后边讨论区中代码。