当前位置:首页 C++ > 正文

c++怎么把字符串中的数字提取出来求和

作者:野牛程序员:2023-11-16 09:12:49 C++阅读 3152

使用C++可以通过以下步骤提取字符串中的数字并求和:

#include <iostream>
#include <sstream>
#include <cctype>

int main() {
    std::string inputString = "abc123def456ghi789"; // 你的输入字符串

    int sum = 0;
    int currentNumber = 0;

    for (char c : inputString) {
        if (std::isdigit(c)) {
            currentNumber = currentNumber * 10 + (c - '0');
        } else {
            sum += currentNumber;
            currentNumber = 0;
        }
    }

    // 处理最后一个数字(如果存在)
    sum += currentNumber;

    std::cout << "Sum of numbers in the string: " << sum << std::endl;

    return 0;
}

这个程序会遍历输入字符串中的每个字符,如果是数字,则构建当前数字,直到遇到非数字字符,然后将当前数字加到总和中。最后输出总和。

方法二:

#include <iostream>
#include <cctype>

int main() {
    const char* inputString = "abc123def456ghi789"; // 你的输入字符串

    int sum = 0;
    int currentNumber = 0;

    for (const char* ptr = inputString; *ptr; ++ptr) {
        if (std::isdigit(*ptr)) {
            currentNumber = currentNumber * 10 + (*ptr - '0');
        } else {
            sum += currentNumber;
            currentNumber = 0;
        }
    }

    // 处理最后一个数字(如果存在)
    sum += currentNumber;

    std::cout << "Sum of numbers in the string: " << sum << std::endl;

    return 0;
}

使用了C风格的字符串,遍历字符串的指针

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击