首页 > 解决方案 > 将字符串中的整数值相加

问题描述

我无法解决我的一个家庭作业问题。

“编写一个程序,要求用户输入一系列单位数字,没有任何分隔。将输入读取为 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;
}

标签: c++stringc-strings

解决方案


因此,您的方法存在几个问题,请考虑以下提示:

  1. 不要读入 char 数组,而是cinstd::string.
  2. 当您在 for 循环中遍历字符串的字符时,它们不是数字,而是 ascii 字符。您需要弄清楚如何转换'0'0(提示,ascii 字符也有数值,也许可以调查一下。)
  3. sum = integers[i]++;这不是你总结数字的方式..

推荐阅读