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

#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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出“fu”字。十个数字对应的拼音如下:0: ling1:...
    kylelin阅读 6,932评论 0 4
  • 题目内容: 你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出...
    jindao阅读 6,384评论 0 0
  • 3、素数和 题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和...
    godfrey_88阅读 6,959评论 0 1
  • 品一种味道, 留一个念想, 看一程山水,走一段人生。 三月春分,鸟语花香,芬芳常在。 告别连日的阴潮雨雾,今天所在...
    KATE小奕阅读 3,106评论 1 2
  • 看到坛子里有人写童年,就想起了自己小时候的事!今儿拿出来晒晒,让大家乐呵乐呵! 说最早的那件事吧,那还是穿开裆裤那...
    夕阳褪去时阅读 2,939评论 0 0

友情链接更多精彩内容