c++ - 如何将输入 'three four + five six =' 转换为 '34+56' ?

标签 c++ c clion

我想将两个数字相加,而每个数字都在其位置进行了描述。

例如,三四 = 34,零七 = 07 等。

需要处理的最大加数是99(九九)

如何让计算机知道“三四等于34”并通过加号识别每个加数?

最佳答案

通常,您必须更好地定义输入才能获得如何解析它的答案,但这里有一些伪代码可以帮助您入门

number_sentence 是一个类似 “三四一八”的字符串

hashmap = {
    'one' : 1,
    'two' : 2,
    ...
}

def get_num(number_sentence):
    result = 0
    for digit_word in number_sentence:
        result = result * 10 + hashmap[digit_word]
    return result

关于c++ - 如何将输入 'three four + five six =' 转换为 '34+56' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58811098/

相关文章:

c++ - 如何从H264中的ffmpeg读取sei未注册的用户数据?

c++ - Makefile 因 C++ 编译而失败

c - Windows 上是否有 sbrk(0) 的等价物

C 函数指针行为

ide - 如何通过注释折叠CLion中的自定义区域?

c - 为什么 cmake 在 Windows 上使用 cygwin 为 netcdf 提供 undefined reference ?

c++ - 关于如何解决此错误的任何想法?

c++ - 调用错误没有匹配函数

c - AIX 上的函数指针编译错误

c++ - CMake 错误 "Expected a command name"