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‘; }
时间: 2024-10-11 07:34:54