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
分析:
首先一开始想到的是需要把输入的数字分类:正整数,负整数和零。如果是零,那就直接输出ling就可以,如果是负整数,就先输出fu,在把负整数转化成正整数,再念拼音。
那么接下来就考虑怎么念拼音。可以看到一个数字,对应一个拼音,那么就是说,只要我们把输入的整数每一位上的数字分解出来,再对应其拼音,问题就迎刃而解。那么具体的步骤就是:创两个数组,一个数组array是分解出来的数字,一个数组array1是对应的拼音。array的元素是从个位到最高位上的数字,在对其赋值的时候,要先求出来这个整数到底有多少位(K位,个位k=1),在对其分解的时候,我们可以发现,最高位上的数字,只要整数除以10的k-1次方就可以提取,其余第i位上的除以10的i次方再对10求余数就可以。
最后循环输出就可以。
代码: