首先,这是我的代码:
std::vector<std::string> x = split("3 5", ' ');
int total = 0;
// then we loop over the elements
for(size_t i = 0; i < x.size(); ++i) {
// convert the string to an integer
int n = atoi(x[i].c_str());
total = total + n;
}
std::cout << "total = " << total << std::endl;
所以,正如你所看到的,这将增加3到5.但是,我希望它做反向(3 - 5)。
我怎么能这样做? 谢谢你的帮助。
答案 0 :(得分:3)
您展示的代码基本上完成了所有工作,因为您将所有给定的数字减去第一个,您需要将第一个案例作为特殊案例,即i == 0
时。
...
for(size_t i = 0; i < x.size(); ++i) {
// convert the string to an integer
int n = atoi(x[i].c_str());
if (i == 0)
total = n;
else
total = total - n;
}
...