【发布时间】:2020-03-07 17:10:08
【问题描述】:
我想将两个数字相加,同时每个数字都在其位置进行了描述。
例如,三四 = 34,零七 = 07,等等
需要处理的最大加数是99(九九)
如何让计算机知道“三四等于 34”并通过加号识别每个加数?
【问题讨论】:
-
您必须编写一个完整的 C++ 程序才能做到这一点。只需按一下按钮,C++ 库中就没有任何东西可以为您做到这一点。您必须自己完成所有工作。
-
您可以使用 std::map。
std::map<std::string, int> digit; digit["one"] = 1;。你得到每个号码number = digit[firstDigit] * 10 + digit[secondDigit]; -
是的,谢谢大家!我自己学习了 map 方法,最后把它用到了我的代码中。我使用 str.find 和 str.substr 来分隔每个加数。我只想知道一个可以提供我想要的功能的方法,但不是所有的代码:) @Sam Varshavchik