在C ++中查找数字总和。方法不同

时间:2019-02-24 10:17:53

标签: 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]);
}

但这不起作用

1 个答案:

答案 0 :(得分:3)

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

字符有其编号(ord)。通过使用C ++中的字符,您实际上可以使用这些数字(因此char是整数类型)。对于'0'是某个数字,对于'1'1 + '0',对于'2'2 + '0',依此类推。因此,通过减去'0',您可以获得正确的数字。