【问题描述】 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 【输入形式】 每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10的100次方。 【输出形式】 在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。 【样例输入】 1234567890987654321123456789 【样例输出】 yi san wu 【样例说明】 0~9:ling yi er san si wu liu qi ba jiu | |
题目解读:题目说的是要你把输入的那一串数字挨个加起来,譬如样例输入1234567890987654321123456789,则你需要干的事情就是计算1+2+3+4+5+6+7+... 思路:因为给出的自然数n小于10的100次方,但是确保能够跑较大的测试数据,此时用string来存储输入的自然数。然后计算各位求和。本来是想计算逆序数字做最后的输出,但是考虑到若求和结果为120,则逆序数是021,而用int无法存储021,所以直接省去了逆序数的那种算法,换用int转string算法来搞。即算出来的结果用string存储,然后拼音输出时挨个取出即可,较为方便。 PS:这里题目要求一行中最后一个拼音数字后没有空格,这里稍稍难到我了,但是若用string存储计算结果,则满足这个条件并不是很难。 这里int转string参考了https://blog.csdn.net/shawn_zhangguang/article/details/53609200的博客,写的很好,点赞。
|
写出来吧
最新推荐文章于 2021-09-29 09:21:27 发布