新手小白 勿喷!
题目描述:
输入字符串s输出s中包含所有整数的最小和
说明:
字符串s只包含az,AZ,+,-,
合法的整数包括正整数,一个或者多个0-9组成,如:0,2,3,002,102
负整数,负号开头,数字部分由一个或者多个0-9组成,如-2,-012,-23,-00023
输入描述:
包含数字的字符串
输出描述:
所有整数的最小和
示例
1.输入:
bb1234aa
输出:10
2.输入:
bb12-34aa
输出:-31
说明:
1+2-(34)=-31
#include<iostream>
#include<string>
#include<vector>
#include<stack>
using namespace std;
void main() {
string s;
int sum = 0, c = 0;
vector<int> num;
vector<int> num2;
getline(cin, s);
for (int i=0; i<s.length(); i++) {
if (s[i] >= 'a' && s[i] <= 'z') {
continue;
}
else if (s[i] == '-') {
i++;
while (s[i]>='0' && s[i] <= '9') {
s[i] = s[i]- '0';
num2.push_back(s[i]);
i++;
}
for (int k = 0; k < num2.size(); k++) {
c = c * 10 + num2[k];
}
num.push_back(-c);
}
else {
s[i] = s[i] - '0';
num.push_back(s[i]);
}
}
for (int cc = 0; cc < num.size(); cc++) {
sum += num[cc];
}
cout << sum;
}