美文网首页
L1-007. 念数字

L1-007. 念数字

作者: mztkenan | 来源:发表于2017-03-14 20:25 被阅读528次

    输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出“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>
    using namespace std;
    int main() {
        string liuruo[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};//避免多分支选择,这种技巧要学习
        string input;
        while(cin>>input){
            int flag=input[0]=='-'?1:0;  //三元运算符,非常方便
            if(flag==1) cout<<"fu";
            for (int i=flag;i<=input.length()-1;i++){//flag的运用十分巧妙,一举两得
                if(i==0){
                    cout<<liuruo[input[i] -'0'];//字符转数字
                    continue;
                }
                cout<<" "<<liuruo[input[i] -'0'];
            }
        }
        return 0;
    }
    
    

    注意事项

    1.这题比较简单,但是如何把简单的题写的结构精妙是个技术活,看了这位南京妹子柳诺的代码觉得写得真是好,借鉴了下
    http://www.liuchuo.net/archives/2429

    相关文章

      网友评论

          本文标题:L1-007. 念数字

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