HDU-2054-A == B ?:string 方法巩固

substr:
basic_string substr( size_type index, size_type num = npos );
 substr()返回本字符串的一个子串,从index开始,长num个字符。如果没有指定,将是默认值 string::npos。这样,substr()函数将简单的返回从index开始的剩余的字符串。
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

int main()
{
        string S1, S2;
        while(cin>>S1>>S2)
        {
            int i;
            //      去前导0
            for(i=0; i<S1.size(); i++)
                    if(S1[i]!='0')
                        break;
            S1=S1.substr(i);

            for(i=0; i<S2.size(); i++)
                    if(S2[i]!='0')
                        break;
            S2=S2.substr(i);

            //      去后导0
            int Pos=S1.find('.');
            if(Pos!=string::npos){
                for(i=S1.size()-1; i>=Pos; i--)
                    if(S1[i]!='0')
                        break;

                if(i==Pos)
                    S1=S1.substr(0, i);
                else
                    S1=S1.substr(0,i+1);
            }
            Pos=S2.find('.');
            if(Pos!=string::npos){
                for(i=S2.size()-1; i>=Pos; i--)
                    if(S2[i]!='0')
                        break;

                if(i==Pos)
                    S2=S2.substr(0, i);
                else
                    S2=S2.substr(0,i+1);
            }

            if(S1==S2)
                cout<<"YES"<<endl;
            else
                cout<<"NO"<<endl;
        }
        return 0;
}

  

posted @ 2015-08-20 16:40  _SunDaSheng  阅读(142)  评论(0编辑  收藏  举报