1. 程式人生 > 實用技巧 >L1-007 念數字

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;
}