#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;
}

本程序接受四行输入:

  1. n: 数字串的长度
  2. 数字串: 用空格分隔的数字列表
  3. m: 操作次数
  4. 操作: 以空格分隔的数字和运算符对,例如'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

本程序可以用于各种计算场景,例如:

  • 统计数据
  • 财务计算
  • 科学计算

您可以根据需要修改程序,以适应不同的计算需求。

C++ 程序:修改运算符计算数字串

原文地址: https://www.cveoy.top/t/topic/mAUR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录