写一个程序做到:现在有一串长度为n的数字它们默认用加号连接进行计算。现在一共接受四行输入第一行是一个数字n表示这串数字的长度第二行是用空格分割的这串数字第三行是一个数字m表示要进行m次操作第四输入长度为2m以空格分隔数字或符号t1o1t2o2tmom其中ti是数字oi是运算符表示把输入的默认加号连接串中第i个运算符变成oi输出变化后的m次计算结果
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
int n, m;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
cin >> m;
string ops;
cin.ignore(); // 忽略上一个输入的换行符
getline(cin, ops);
for (int i = 0; i < m; i++) {
char op;
int idx, num;
cin >> idx >> op >> num;
ops[idx - 1] = op;
int res = nums[0];
for (int j = 1; j < n; j++) {
char cur_op = ops[j - 1];
if (cur_op == '+') {
res += nums[j];
} else {
res -= nums[j];
}
}
cout << res << endl;
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/baL4 著作权归作者所有。请勿转载和采集!