• 模拟_大数字符串(HDU_2054)


    这道题以前写过,代码啰嗦,现重写

    特殊情况:

    1: 000 000000

    2: +000 -00000

    3: 000.00000 -000.00000

    4: +000.00000 -000.00000

    5: 0000123.4560000 -123.456

    。。。。。

    #include <stdio.h>
    #include <string.h>
    
    #define M 100000
    
    char A[M],B[M];
    
    void conv(char *&pD)
    {
        char flag = '*';
        if(*pD == '+' || *pD == '-')
        {
            flag = *pD;    pD++;
        }
        while(*pD == '0')
            pD++;
        int len = strlen(pD);
        char *p = pD + len - 1;
        if(strchr(pD,'.'))
        {
            while(*p == '0')    *p-- = '';
            if(*p == '.')        *p-- = '';
        }
        if(flag != '*' && pD == p)
        {
            pD--;    *pD = flag;
        }
    }
    
    int main(int argc, char* argv[])
    {
    #ifdef __MYLOCAL
        freopen("in.txt","r",stdin);
    #endif
        
        while(scanf("%s%s",A,B) != EOF)
        {
            char *pA = A;
            char *pB = B;
            conv(pA);
            conv(pB);
            printf("%s
    ",!strcmp(pA,pB) ? "YES" : "NO");
        }
        
        return 0;
    }
  • 相关阅读:
    进度3
    进度2
    进度1
    库存物资管理系统
    课程管理系统
    文件与流作业
    bzoj4027: [HEOI2015]兔子与樱花
    bzoj2067: [Poi2004]SZN
    bzoj2071:[POI2004]山洞迷宫
    bzoj1063: [Noi2008]道路设计
  • 原文地址:https://www.cnblogs.com/lk1993/p/3227262.html
Copyright © 2020-2023  润新知