我是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]);
}
但这不起作用
答案 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'
,您可以获得正确的数字。