C++ 如何转换输入';三四+;五六=';至';34+;56';?
我想把两个数字加在一起,每个数字都在其位置上进行了描述 例如,三四=34,零七=07,等等 需要处理的最大加数是99(9)C++ 如何转换输入';三四+;五六=';至';34+;56';?,c++,c,clion,C++,C,Clion,我想把两个数字加在一起,每个数字都在其位置上进行了描述 例如,三四=34,零七=07,等等 需要处理的最大加数是99(9) 我怎样才能让计算机知道“三四等于34”并通过加号识别每个加数?一般来说,为了得到如何解析它的答案,您必须更好地定义输入,但这里有一些伪代码可以帮助您开始 数字\u句是一个类似于的字符串“三四一八” 你必须写一个完整的C++程序来完成这个任务。在C++库中没有任何东西可以在按钮的简单推送下为您这样做。你必须自己做所有的工作。你可以使用std::map标准::地图数字;数字[“
我怎样才能让计算机知道“三四等于34”并通过加号识别每个加数?一般来说,为了得到如何解析它的答案,您必须更好地定义输入,但这里有一些伪代码可以帮助您开始
数字\u句
是一个类似于的字符串“三四一八”
你必须写一个完整的C++程序来完成这个任务。在C++库中没有任何东西可以在按钮的简单推送下为您这样做。你必须自己做所有的工作。你可以使用std::map<代码>标准::地图数字;数字[“一”]=1代码>。您可以使用
number=digit[firstDigit]*10+digit[secondDigit]获得每个数字是的,谢谢大家!我自学了map方法,并最终将其应用到我的代码中。我使用str.find和str.substr来分隔每个加数。我只想知道一个方法可以提供我想要的功能,但不是所有的代码:)@samvarshavchikyeah,谢谢大家!我自学了map方法,并最终将其应用到我的代码中。我使用str.find和str.substr来分隔每个加数。我只想知道一个方法,它可以提供我想要的功能,但不是所有的代码:)@samvarshavchik
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