Ps:WA了无数次,,简直成了心病..今天终于AC了..先取整数部分,去零,判断位数相等否,再比较.如果相等,再取小数部分,去零,比较,输出....好烦...

代码;

#include "stdio.h"
#include "string.h"
void swi(char a[],char b[]);
void swi1(char a[],char b[]);
void qdele(char a[],char b[]);
void hdele(char a[]);
int main(){
    int n,s1,s2,s3,s4;
    char a[100010],b[100010],c[100010],d[100010];
    while(~scanf("%s%s",&a,&b)){
        swi(a,c);
        swi(b,d);
        qdele(c,c);
        qdele(d,d);
        s1=strlen(c);
        s2=strlen(d);
        if(s1==s2){
            if(strcmp(c,d)==0){
                swi1(a,c);
                swi1(b,d);
                hdele(c);
                hdele(d);
                if(strcmp(c,d)==0){
                    printf("YES\n");
                }
                else{
                    printf("NO\n");
                }
            }
            else{
                printf("NO\n");
            }
        }
        else{
            printf("NO\n");
        }
    }
    return 0;
}
void swi(char a[],char b[]){
    int i,s;
    s=strlen(a);
    for(i=0;i<s;i++){
        if(a[i]=='.') break;
        b[i]=a[i];
    }
    b[i]='\0';
}
void swi1(char a[],char b[]){
    int i,s,t;
    t=0;
    s=strlen(a);
    for(i=s;i>=0;i--){
        if(a[i-1]=='.') break;   //12.200    s-i-1    
    }
    //t=s-i-1;
    for(;i<s;i++){
        b[t++]=a[i];
    }
    b[t]='\0';
}
void qdele(char a[],char b[]){
    int i,s,t;
    t=0;
    s=strlen(a);
    for(i=0;i<s;i++){
        if(a[i]!='0') break;    //0022   i=2;
    }
    for(;i<s;i++){
        b[t++]=a[i];
    }
    b[t]='\0';
}
void hdele(char a[]){
    int i,s,t;
    t=0;
    s=strlen(a);
    for(i=s;i>=0;i--){
        if(a[i-1]!='0') break;    //2200
    }
    a[i]='\0';
}