c++ - 在 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]);
}
但这不起作用
解决方案
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'
你得到正确的数字。
推荐阅读
- sql - Oracle SQL查询部门用户报表
- jenkins - 詹金斯 - 在 X 天后删除发布 HTML 报告,还是一些变体?
- google-bigquery - 如何为 Google Bigquery 表创建季度分区
- c++ - 使用 MPFR 将浮点数转换为字符串
- javascript - Electron 应用程序身份验证在 dev 中有效,但在与 electron-builder 打包后无效
- c - 如何在 C 中发送没有 RFH 标头的 MQ 消息?
- r - 为列表中的所有点赋值
- ios - 使用 Ionic 4 的 iOS Firebase 云消息推送通知不起作用
- sql - 还有其他方法可以将计算信息添加到表中吗?
- android - 使用不同高度的子级为 TextSwitcher、ViewFlipper 或 ViewSwitcher 设置动画