#3806: __不懂


alan5566alan (alan)


#include<iostream>
using namespace std;

void ch(int a){
    if(a==0)
        cout << "零";
    else if(a==1)
        cout << "壹";
    else if(a==2)
        cout << "貳";
    else if(a==3)
        cout << "參";
    else if(a==4)
        cout << "肆";
    else if(a==5)
        cout << "伍";
    else if(a==6)
        cout << "陸";
    else if(a==7)
        cout << "柒";
    else if(a==8)
        cout << "捌";
    else if(a==9)
        cout << "玖";
}

void ct(int a){
    if(a==1)
        cout << "拾";
    else if(a==2)
        cout << "佰";
    else if(a==3)
        cout << "仟";
    else if(a==4)
        cout << "";
    else if(a==5)
        cout << "拾";
    else if(a==6)
        cout << "佰";
    else if(a==7)
        cout << "仟";
    else if(a==8)
        cout << "";
    else if(a==9)
        cout << "拾";
}

void cz(int a){
    if(a==4)
        cout << "萬";
    else if(a==8)
        cout << "億";
}

int main(){
    char n[11]={0};
    while(cin >> n){
        int length,zlength;
        for(int i=0;;i++)
            if(n[i]==0){
                length=i;
                break;
            }
        for(int i=0;i<length;i++)
            if(n[length-i-1]!='0'){
                zlength=i;
                break;
            }
        for(int i=0;i<length;i++){
            if(i==length-1&n[i]=='0')
                break;
            if(n[i]!='0'){
                ch(n[i]-48);
                ct(length-i-1);
            }
            cz(length-i-1);
            if(n[i]=='0'&n[i-1]!='0' & i<length-zlength){
                ch(0);
            }
        }
        cout << endl;
    }
}

----------------------------------------------------------------------------------------------

打  十億零一  會出現  臺十億"零萬"臺

哪裡出錯了?