【团体程序设计天梯赛-练习集】L1-007--念数字

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34072526/article/details/88683609

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:

0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu

输入格式:

输入在一行中给出一个整数,如:1234。

提示:整数包括负数、零和正数。

输出格式:

在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。

输入样例:

-600

输出样例:

fu liu ling ling


代码

#include <iostream>
#include <string>
using namespace std;

string cvt(char d){
    if(d == '-') return "fu";
    else if(d == '0') return "ling";
    else if(d == '1') return "yi";
    else if(d == '2') return "er";
    else if(d == '3') return "san";
    else if(d == '4') return "si";
    else if(d == '5') return "wu";
    else if(d == '6') return "liu";
    else if(d == '7') return "qi";
    else if(d == '8') return "ba";
    else if(d == '9') return "jiu";
}

int main(){
    string n, res;
    string::iterator it;
    cin >> n;
    for(it = n.begin(); it != n.end(); it++){
        if(it != n.end() - 1){
            res.insert(res.length(), cvt(*it));
            res.insert(res.length(), " ");
        }
        else res.insert(res.length(), cvt(*it));
    }
    cout << res << endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_34072526/article/details/88683609