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

猜也能猜到,本题的数据不可能是简单到直接能保存进整型里。
它可能有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;
}


你可能感兴趣的:(HDU 2054 字符串 比较两个数大小,忽略整数前面的0和小数最后的0)