首页 > 试题广场 >

写出这个数 (20)

[编程题]写出这个数 (20)
  • 热度指数:4768 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入描述:
每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100


输出描述:
在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
示例1

输入

1234567890987654321123456789

输出

yi san wu

one line

print(' '.join(['ling','yi','er','san','si','wu','liu','qi','ba','jiu'][int(i)] for i in str(sum(map(int,input())))))
编辑于 2020-01-09 22:17:39 回复(0)

python只需要两行代码:

dic = {"0": "ling", "1": "yi", "2": "er", "3": "san", "4": "si", "5": "wu", "6": "liu", "7": "qi", "8": "ba", "9": "jiu"}
print(" ".join(map(lambda c: dic[c], str(sum(map(int, input()))))))
发表于 2017-10-11 07:03:23 回复(1)
n = input()
sum = 0
result = ''

for i in n:
    sum += int(i)

for i in str(sum):
    i = int(i)
    if i == 0:
        result += 'ling '
    elif i == 1:
        result += 'yi '
    elif i == 2:
        result += 'er '
    elif i == 3:
        result += 'san '
    elif i == 4:
        result += 'si '
    elif i == 5:
        result += 'wu '
    elif i == 6:
        result += 'liu '
    elif i == 7:
        result += 'qi '
    elif i == 8:
        result += 'ba '
    elif i == 9:
        result += 'jiu '

print(result.rstrip())

发表于 2017-09-25 10:50:19 回复(0)