杭电 2054 A==B?
发布时间:2020-12-14 03:44:32 所属栏目:大数据 来源:网络整理
导读:这道题题意说得不太清楚。。。参考了网上的一些解法,总结如下: 比较简单的解法:http://blog.csdn.net/zhaorongxia/article/details/7629858 c语言版: #includestdio.h#includestring.hvoid qq(char *a){int len,i; len=strlen(a)-1; for(i=len;i=0;i--)
这道题题意说得不太清楚。。。参考了网上的一些解法,总结如下: 比较简单的解法:http://blog.csdn.net/zhaorongxia/article/details/7629858 c语言版:
#include<stdio.h> #include<string.h> void qq(char *a) { int len,i; len=strlen(a)-1; for(i=len;i>=0;i--) { if(a[i]=='0') len--;//去掉小数点后的0 else break; } if(a[len]=='.') len--; //如果小数点后全是0,那小数点也得去掉 a[len+1]=' '; //通过加结束标志来去掉 } int main() { int i,len; char a[50000],b[50000]; while(scanf("%s%s",a,b) != EOF)//scanf("%s%s",b)==2 { len=strlen(a); for(i=0;i<len;i++) { if(a[i]=='.') //对有小数点的数据处理 qq(a); } len=strlen(b); for(i=0;i<len;i++) { if(b[i]=='.') qq(b); } if(strcmp(a,b)) printf("NOn"); else printf("YESn"); } return 0; }此解法对于-0和0 ?002和2 ?001.00和1都输出NO,即只考虑小数末尾多余的0 其它参考解法:http://www.voidcn.com/article/p-vvexupvz-xg.html 看了Java版:http://www.cnblogs.com/zhangshu/archive/2011/09/21/2184518.html后,感觉Java语言真强大,而自己在各种语言上都不太精通,需要选择一门语言好好深入学一下。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |