您的位置:首页 > 其它

HDU 2054 字符串 比较两个数大小,忽略整数前面的0和小数最后的0

2012-09-14 11:01 357 查看
猜也能猜到,本题的数据不可能是简单到直接能保存进整型里。

它可能有10000位的长度,所以需要保存到字符串里。

比较的时候,需要注意的是:像0001.00与1是相同的。

#include <stdio.h>
#include <string.h>

void A(char *s)
{
int len = strlen(s);
char *p = s + len - 1;
if (strchr(s, '.'))
while (*p == '0') *p-- = 0;
if (*p == '.') *p = 0;
}

int main(void)
{
char *pa, *pb;
char a[100024], b[100024];

while (scanf("%s%s", &a, &b) != EOF)
{
pa = a; pb = b;
while (*pa == '0') pa++;
while (*pb == '0') pb++;
A(pa); A(pb);
puts(strcmp(pa, pb) ? "NO" : "YES");
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: