美文网首页
L1-007 念数字

L1-007 念数字

作者: 洛洛敲代码 | 来源:发表于2019-01-26 16:17 被阅读0次

    题目描述

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

    题解思路

    直接当字符串处理,需要注意的是,输入的数据中可能有多余的空格,所以while的循环条件需要额外注意一下。

    题解代码

    #include <bits/stdc++.h>
    using namespace std;
    char number[10][5] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
    int main(){
        char ch;
        int flag = 0;
        while((ch = getchar()) == '-' || ch >= '0' && ch <= '9'){
            if(flag == 0){
                flag = 1;
            } else {
                printf(" ");
            }
            if(ch == '-'){
                printf("fu");
            }
            else {
                printf("%s", number[ch - '0']);
            }
        }
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:L1-007 念数字

          本文链接:https://www.haomeiwen.com/subject/ljmijqtx.html