首页 > 解决方案 > 在 C++ 中查找数字的总和。不同的方法

问题描述

我是 C++ 新手,并且在使用简单程序时遇到问题,我需要找到我可以在 python 中做到这一点的数字总和,但我不知道如何在 C++ 中做同样的事情。

digits = "1234"
sum = 0
for digit in digits:
    sum += int(digit)
print(sum)

如何在 C++ 中做同样的事情?

我尝试在 c++ 中做同样的事情,但最终出现错误。

string digits = "1234";
int sum, i;
for(i=0;i<digits.length();i++){
    sum += stoi(digits[i]);
}

但这不起作用

标签: c++

解决方案


string digits = "1234";
int sum = 0;
for(int i = 0; i < digits.length(); i++){
    sum += digits[i] - '0';
}

字符有编号 ( ord)。通过使用 C++ 中的字符,您实际上可以使用这些数字(char整数类型也是如此)。For '0'it's some number, for '1'it's 1 + '0', for '2'it's2 + '0'等等。所以通过减去'0'你得到正确的数字。


推荐阅读