c++怎么把字符串中的数字提取出来求和
作者:野牛程序员:2023-11-16 09:12:49 C++阅读 3348
使用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++如何把字符串转换成数字
