L1-007 念数字

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出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

 到题目需要输出一个数字串中每个数字对应的字符。可以采用string类型来存储输入,之后对字符串进行遍历,根据每个char的读音进行输出即可。
 关于每个char的读音输出,可以使用switch语句来进行处理。
 另外,需要注意最后的输出不含有空格。
代码:

#include<iostream>
#include<string>

using namespace std;

void print(char ch){
    switch(ch){
        case'0':cout<<"ling";break;
        case'1':cout<<"yi";break;
        case'2':cout<<"er";break;
        case'3':cout<<"san";break;
        case'4':cout<<"si";break;
        case'5':cout<<"wu";break;
        case'6':cout<<"liu";break;
        case'7':cout<<"qi";break;
        case'8':cout<<"ba";break;
        case'9':cout<<"jiu";break;
        case'-':cout<<"fu";break;
    }
}

int main(){
    string str
    cin>>str;
    int len = str.length();
    for(int i = 0; i < len - 1; i ++){
        print(str[i]);
        cout<<" ";
    }
    print(str[len - 1]);
    return 0;
}
posted @ 2020-11-04 16:50  Frances_FKYM  阅读(244)  评论(0)    收藏  举报