编程题 7-25 念数字【PAT】

编程练习题目集目录

题目

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

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

输入格式

  输入在一行中给出一个整数,如: 1234 1234 1234。 提示:整数包括负数、零和正数。

输出格式

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

输入样例

-600

输出样例

fu liu ling ling

题解

解题思路

  首先先用 s t r i n g string string 类型输入一个数字,然后,根据每一位数字用 s w i t c h switch switch 来判断对应的输出,然后每个数字的拼音之间用空格分开,最后用if判断是否输出空格(是否是最后一位数字)即可。

完整代码

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

int main(void)
{
    
    
    string str;
    cout << "请输入一个数字:";             // 提交时注释此行
    cin >> str;
    for (int i = 0; i < str.length(); i++)
    {
    
    
        switch (str[i])
        {
    
    
            case '-': cout << "fu";     break;
            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;
        }
        if (i != (str.length() - 1))
            cout << " ";
    }
    cout << endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41918107/article/details/143156519