
1005 Spell It Right (20分)
读取输入:将输入作为字符串读取,以便处理可能大数。 计算各位数字之和:遍历字符串中的每个字符,将其转换为数字并求和。 转换为字符串:将求和结果转换为字符串,便于处理每个位上的数字。 转换为英文单词:处理字符串中的每个字符,将其对应的数字转换为英文单词。 拼接结果字符串:将所有转换后的单词拼接成最终的输出字符串,确保没有多余的空格。
发布日期:2021-05-28 05:49:55
浏览次数:25
分类:精选文章
本文共 1189 字,大约阅读时间需要 3 分钟。
为了解决这个问题,我们需要计算给定非负整数 N 的各位数字之和,并将这个和转换成英文单词输出。输出的单词用空格分隔。
方法思路
解决代码
#include#include #include using namespace std;int main() { string s; cin >> s; int sum = 0; for (int i = 0; i < s.size(); ++i) { sum += s[i] - '0'; } vector hash = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; string total = to_string(sum); string result; for (int i = 0; i < total.size(); ++i) { int digit = total[i] - '0'; string word = hash[digit]; if (i != 0) { result += " " + word; } else { result += word; } } cout << result; return 0;}
代码解释
- 读取输入:使用
cin >> s
读取输入字符串s
。 - 计算和:遍历
s
的每个字符,将其转换为数字并相加得到sum
。 - 转换结果:将
sum
转换为字符串total
。 - 转换为英文单词:使用数组
hash
存储数字对应的英文单词,遍历total
的每个字符转换为数字并获取对应的单词。 - 拼接结果:将每个单词拼接成结果字符串
result
,确保前导没有空格,后续每个单词前加入空格。
这个方法确保了我们能够正确处理大范围的数字,并将其各位数字之和准确地转换为英文单词输出。
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月25日 07时42分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux tail 命令详解
2025-04-06
linux tar 备份命令
2025-04-06
Linux tar解压缩命令使用详解
2025-04-06
Linux tcpdump -any抓的包转换成标准的pcap
2025-04-06
Linux Terminator
2025-04-06
linux tex文件编译,用latexmk编译XeLaTeX tex文件
2025-04-06
linux thinkphp 目录 [ ./Runtime/ ] 不可写!
2025-04-06
Linux top
2025-04-06
Linux top 命令详解
2025-04-06
Linux tr命令学习笔记与应用举例
2025-04-06
Linux Ubuntu 装LAMP心得
2025-04-06
linux Ubuntu安装ftp并将本地文件上传到云服务器
2025-04-06
linux udev 自动挂载 SD卡/U盘
2025-04-06
Linux UDP C/S例子
2025-04-06
Linux uniq学习笔记
2025-04-06
Linux unit14
2025-04-06
Linux VFS中write系统调用实现原理【转】
2025-04-06
Linux VI command
2025-04-06
linux vim 插件
2025-04-06
Linux vim 操作大集合,Linux运维工程师收藏!
2025-04-06