cpp代码实现识别第一个括号内容并对数据求和3 (2,2) ((1,1),(2,1),(3,3))
时间: 2023-08-18 07:08:36 浏览: 73
括号匹配.cpp
以下是一个实现方式:
```cpp
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
using namespace std;
int main() {
string input = "(((1,1),(2,1),(3,3)),(2,2))"; // 输入的字符串
vector<int> nums; // 存储所有数字
int sum = 0; // 求和结果
// 找到第一个括号的位置
int first_pos = input.find_first_of("(");
// 找到第一个括号内的内容
string first_content = input.substr(first_pos + 1, input.find_first_of(")") - first_pos - 1);
// 将第一个括号内的内容转化为流
stringstream ss(first_content);
char c;
int num;
// 读取所有数字并存储到 nums 中
while (ss >> c >> num >> c) {
nums.push_back(num);
if (ss.peek() == ',') ss.ignore();
}
// 对 nums 中的所有数字求和
for (int i = 0; i < nums.size(); i++) {
sum += nums[i];
}
cout << "Sum: " << sum << endl;
return 0;
}
```
输出结果为:
```
Sum: 7
```
程序首先找到第一个括号的位置,然后找到第一个括号内的内容。将内容转化为流后,读取所有数字并存储到 `nums` 中。最后对 `nums` 中的所有数字求和并输出结果。
阅读全文