代码改变世界

HDU_A == B ?

2015-04-25 22:33  HaodongGUO  阅读(211)  评论(0编辑  收藏  举报
 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<stdlib.h>
 4 char a[100024],b[100024],c[100024],d[100024];
 5 int main()
 6 {
 7 
 8    //memset(c,0,sizeof(c));
 9    //memset(d,0,sizeof(d));
10    while(scanf("%s%s",a,b)!=EOF)
11    {
12        int j=0;
13        while(a[j]=='0')//如果输入的数前几位为0,则
14        {
15           j++;
16        }
17        int k=j;
18        while(a[j])
19        {
20            c[j-k]=a[j];
21            j++;
22        }
23        j=0;//对a数组删除前面输入的零,e.g00001==1
24        while(b[j]=='0')
25        {
26            j++;
27        }
28        k=j;
29        while(b[j])
30        {
31            d[j-k]=b[j];
32            j++;
33        }//对b数组删除前面输入的零
34        j=0;
35        if(strchr(c,'.'))//字符串判断函数,如果c字符串中含有'.'则返回'.'的位置指针,否则返回NULL
36        {//说明strchr返回值类型是指针,作用是判断某字符串中是否存在某个字符
37            //并且在if语句中null和0的作用是等价的
38            while(c[j])
39            {
40                j++;
41            }
42            j--;
43            while(c[j]=='0')
44            {
45                c[j]='\0';
46                j--;
47            }//删除小数点后面的零,e.g 123.000=123.00000000
48            if(c[j]=='.')
49                c[j]='\0';//删除小数点,e.g 123.0000=123
50        }
51        j=0;
52         if(strchr(d,'.'))
53        {
54            while(d[j])
55            {
56                j++;
57            }
58            j--;
59            while(d[j]=='0')//去掉末尾的零
60            {
61                d[j]='\0';
62                j--;
63            }
64           if(d[j]=='.')
65                d[j]='\0';//将.号划掉
66        }//类似以上处理
67        if(strlen(c)!=strlen(d))
68           printf("NO\n");//判断长度是否相等
69        else//比较
70        {
71            int i=0,t=0;
72            while(c[i])
73            {
74                if(c[i]!=d[i])//如果出现两个字符出现不相等的情况,则做个标记
75                {
76                     t++;
77                     break;
78                }
79                i++;
80            }
81            if(t==0)
82            {
83                printf("YES\n");
84            }
85            else
86            {
87                 printf("NO\n");
88            }
89        }
90        memset(a,0,sizeof(a));
91        memset(b,0,sizeof(b));
92        memset(c,0,sizeof(c));
93        memset(d,0,sizeof(d));
94    }
95    //system("pause");
96    return 0;
97 }

 

22:28:28  2015-04-25