HDU 2054 A == B ?(找小数点)

来源:互联网 发布:搜狗输入法云计算候选 编辑:程序博客网 时间:2024/05/17 03:24

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2054


Problem Description
Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".
 

Input
each test case contains two numbers A and B.
 

Output
for each case, if A is equal to B, you should print "YES", or print "NO".
 

Sample Input
1 22 23 34 3
 

Sample Output
NOYESYESNO

思路:

此题关键是找小数点,找到小数点把最后面无效的零去掉再比较就OK;


代码如下:

#include <cstdio>#include <cstring>char a[100017], b[100017];void re(char s[]){    int len = strlen(s);    int p = 0;    for(int i = 0; i < len; i++)    {        if(s[i] == '.')        {            p = 1;            break;        }    }    if(p)    {        for(int i = len-1; i >= 0; i--)        {            if(s[i] == '0')                s[i] = '\0';            else                break;            len--;        }        if(s[len-1] == '.')            s[len-1] = '\0';    }}int main(){    while(~scanf("%s%s",a,b))    {        re(a);       // printf("%s\n",a);        re(b);       // printf("%s\n",b);        if(strcmp(a,b))            printf("NO\n");        else            printf("YES\n");    }    return 0;}


1 1
原创粉丝点击