#4364: 亂碼= =


leepupu (TMHBITW)


#include<iostream>
#include<string>
#include<algorithm>

using namespace std;

main()
{
    string cn[10]={"零","壹","貳","參","肆","伍","陸","柒","捌","玖"};
    string nn[4]={"","萬","億","兆"};
    string nnn[4]={"","拾","佰","仟"};
    string n;   
    while(cin>>n)
    {
        int first=1;
        int n_t4=int(n.length()/4);
        int n_mod4=int(n.length()%4);
        int n_len=int(n.length());
        int now_bit=0;
        int p_n=0;
        int c_0=0;
        int st_0=0;
        string ans;
        string num;
        for(int i=n.length()-1;i>=0;i--)
        {
            num+=n[i];
        }
        /*//
            cout<<num<<endl;
        //*/
        bool have_0=0;
        for(int i=0;i<num.length();i++)
        {
            if(num[i]!='0')
            {
                /*//
                    cout<<num[i]<<endl;
                //*/
                if((i+1)%5==0)
                    ans+=(nn[i/4]);
                else if(have_0==1 && c_0>=2 && (st_0%4!=0))
                {
                    ans+=(cn[0]+nn[i/4]);
                }
                else if(have_0==1 && c_0>=2)
                {
                    ans+=(nn[i/4]);
                }
                ans+=(nnn[i%4]+cn[ (num[i] - 48) ]);
                have_0=0;
                c_0=0;
            }
            else
            {
                if(!have_0)
                {
                    have_0=1;
                    st_0=i;
                }
                c_0++;
            }
        }
        if(ans.substr(0,2)=="零")
        {
            //cout<<"here"<<endl;
            ans[0]=0;
            ans[1]=0;
        }
        string real_ans;
        for(int i=ans.length()-1;i>=0;i-=2)
        {
            real_ans+=ans[i-1];
            real_ans+=ans[i];
        }
        string a=real_ans;
        cout<<a<<endl;
    }
    return 0;
}
在家裡執行都OK,丟上去就出錯了??