c++ - 将字符串中的整数值相加
问题描述
我无法解决我的一个家庭作业问题。
“编写一个程序,要求用户输入一系列单位数字,没有任何分隔。将输入读取为 c 字符串或字符串对象。程序应显示字符串中的所有单位数字。对于例如,如果用户输入 2514,程序应显示 12,即 (2+5+1+4)。程序还应显示字符串中的最高位和最低位。
我遇到的问题是弄清楚如何将字符串中的整数相加。我的代码在下面,感谢您的帮助,谢谢!
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
//Declaring Variables & Character Array:
int size;
int sum;
char integers[size];
//Gathering Integers:
cout << "Please enter a series of integers with nothing between them.";
cin >> integers;
//Gathering Size of String:
size = strlen(integers) + 1;
//Adding up Contents Within String:
for(int i = 0; i < size; i++)
{
if(integers[i] > 0 && integers[i] < 9 && integers != "\0")
{
sum = integers[i]++;
}
}
//Outputting Sum:
cout << sum;
return 0;
}
解决方案
因此,您的方法存在几个问题,请考虑以下提示:
- 不要读入 char 数组,而是
cin
从std::string
. - 当您在 for 循环中遍历字符串的字符时,它们不是数字,而是 ascii 字符。您需要弄清楚如何转换
'0'
为0
(提示,ascii 字符也有数值,也许可以调查一下。) sum = integers[i]++;
这不是你总结数字的方式..
推荐阅读
- angular - 无法在 Red Hat 8 中创建 Angular 应用程序
- python - python 中的 Azure CLI
- python-3.x - Pyserial RS232 支持
- html - CSS FlexBox - 将 div 定位在不同位置的一个容器中
- c# - 为什么 Visual Studio 中默认出现警告 CS0108 和 CS0114 *NOT* 错误?
- revenuecat - 使用 RevenueCat API 检查用户订阅是否仍然有效
- shiny-reactivity - 有没有办法在 Shiny 的当前运行中使用上次运行的结果?
- mongoengine - AttributeError:“BaseQuerySet”对象没有属性“is_authenticated”
- python - 使用 pandas 以逐行方式将大量 csv 文件合并到一个 csv 文件中?
- python - python脚本在Pycharm和cmd上工作,但双击它时不运行