杭电 2054 A==B?

Problem Description

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>

#include<stdlib.h>

int main()

{

   char a[100024],b[100024],c[100024],d[100024];//万恶的数组,刚开始因为开小了,结果一直wa,都找不到原因 

   memset(c,0,sizeof(c));

   memset(d,0,sizeof(d));

   while(scanf("%s%s",a,b)!=EOF)

   {

       int j=0;

       while(a[j]=='0')

       {

          j++;

       }

       int k=j;

       while(a[j])

       {

           c[j-k]=a[j];

           j++;

       }

       j=0;//对a数组删除前面输入的零,e.g00001==1 

       while(b[j]=='0')

       {

           j++;

       }

       k=j;

       while(b[j])

       {

           d[j-k]=b[j];

           j++;

       }//对b数组删除前面输入的零 

       j=0;

       if(strchr(c,'.'))//字符串判断函数,如果c字符串中含有'.'则返回'.'的位置指针,否则返回NULL 

       {

           while(c[j])

           {

               j++;

           }

           j--;

           while(c[j]=='0')

           {

               c[j]='\0';

               j--;

           }//删除小数点后面的零,e.g 123.000=123.00000000 

           if(c[j]=='.')

               c[j]='\0';//删除小数点,e.g 123.0000=123 

       }

       j=0;

        if(strchr(d,'.'))

       {

           while(d[j])

           {

               j++;

           }

           j--;

           while(d[j]=='0')

           {

               d[j]='\0';

               j--;

           }

          if(d[j]=='.')

               d[j]='\0';

       }//类似以上处理 

       if(strlen(c)!=strlen(d))

          printf("NO\n");//判断长度是否相等 

       else//比较 

       {

           int i=0,t=0;

           while(c[i])

           {

               if(c[i]!=d[i])

               {

                    t++;

                    break;

               }

               i++;

           }

           if(t==0)

           {

               printf("YES\n");

           }

           else

           {

                printf("NO\n");

           }

       }

       memset(a,0,sizeof(a));

       memset(b,0,sizeof(b));

       memset(c,0,sizeof(c));

       memset(d,0,sizeof(d));

   }

   //system("pause");

   return 0;

} 

你可能感兴趣的:(==)