C++ 程序:修改运算符计算数字串
#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;
}
本程序接受四行输入:
- n: 数字串的长度
- 数字串: 用空格分隔的数字列表
- m: 操作次数
- 操作: 以空格分隔的数字和运算符对,例如't1 o1 t2 o2 ... tm om',其中 'ti' 是数字,'oi' 是运算符,表示将第 'i' 个运算符修改为 'oi'
程序会依次执行每个操作,并将修改后的结果输出。
程序示例:
输入:
4
1 2 3 4
2
1 -
3 +
输出:
-5
10
解释:
- 初始数字串:1 + 2 + 3 + 4
- 第一次操作:将第一个运算符改为减号,得到 1 - 2 + 3 + 4,结果为 -5
- 第二次操作:将第三个运算符改为加号,得到 1 - 2 + 3 + 4,结果为 10
本程序可以用于各种计算场景,例如:
- 统计数据
- 财务计算
- 科学计算
您可以根据需要修改程序,以适应不同的计算需求。
原文地址: https://www.cveoy.top/t/topic/mAUR 著作权归作者所有。请勿转载和采集!