PAT B1002 写出这个数

PAT B1002 写出这个数_第1张图片
思路:分离出每个数字,用对应的拼音数字的数组替换。

#include
#include
using namespace std;
string words[10] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
int main(){
    char a='0';
    int num=0;
    while(a!='\n'){
        num+=a-'0';
        scanf("%c",&a);
    }
    string res = to_string(num);
    for(int i=0;i<res.length();i++){
        if(i!=0) cout << " ";
        cout << words[res[i]-'0'];
    }
    return 0;
}

总结:关于这类 不同语言的数字进行转换,往往建立一个hash字符串数组。

你可能感兴趣的:(PAT乙级)