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

- 上一篇:c语言中字节和位的关系
- 下一篇:c++如何把字符串转换成数字