3 solutions

  • 2
    @ 2024-8-16 13:58:36

    因为楼下代码太乱了,所以我小SS也来发一篇题解。 先贴代码: imageimage

    先读入字母(这里我用的是stringstring,因为转intint更方便),随后判断其是不是一个数字,是就使用 istringstream()函数实现stringstringintint,读入bb。因为题目要求与上一题的运算方式一致,所以这里不用对字母进行存储;不是则用ss存储字母,根据ss运算即可。这里可以使用 to_string()函数将aabb等存入另一个字符串中输出,也可以直接输出:(cout<<a<<'+'<<b<<'='<<a+b<<endl;)。

    最后不忘 return 0;,AC生活更美好!

    好吧,还处处RE呢

    希望大家多多点赞,下篇题解见!

    最后在自恋的给我一个赞

    2024-8-9 新增防抄袭系统
    TJNO:1
    
  • 0
    #include <iostream>
    #include <sstream>
    #include <vector>
    #include <string>
    using namespace std;
    
    vector<string> split(const string& s) {
        vector<string> parts;
        istringstream iss(s);
        string part;
        while (iss >> part) {
            parts.push_back(part);
        }
        return parts;
    }
    
    int main() {
        int i;
        cin >> i;
        cin.ignore(); // 读取换行符
        string prev_op;
        for (int j = 0; j < i; ++j) {
            string line;
            getline(cin, line);
            vector<string> parts = split(line);
            string op;
            int a, b;
            if (parts.size() == 3) {
                op = parts[0];
                a = stoi(parts[1]);
                b = stoi(parts[2]);
                prev_op = op;
            } else {
                op = prev_op;
                a = stoi(parts[0]);
                b = stoi(parts[1]);
            }
            int res;
            if (op == "a") res = a + b;
            else if (op == "b") res = a - b;
            else res = a * b;
            string op_char = (op == "a") ? "+" : (op == "b") ? "-" : "*";
            string expr = to_string(a) + op_char + to_string(b) + "=" + to_string(res);
            cout << expr << endl;
            cout << expr.size() << endl;
        }
        return 0;
    }
    
    
    • 0

      #include <bits/stdc++.h> #include<>cstdio //cstdio要填到<>里面,这里我输入不进去 using namespace std; int main() { int i,x,y; char ch; char s[100],str[10]; cin>>i; for(int j=1; j<=i; j++) { cin>>str; if(str[0]>='a'&&str[0]<='c') { ch=str[0]; cin>>x>>y; } else { sscanf(str,"%d",&x); cin>>y; } memset(s,0,sizeof(s)); if(ch=='a') sprintf(s,"%d+%d=%d",x,y,x+y); else if(ch=='b') sprintf(s,"%d-%d=%d",x,y,x-y); else if(ch=='c') sprintf(s,"%d*%d=%d",x,y,x*y); cout<<s<<endl<<strlen(s)<<endl; } return 0; }

    • 1

    Information

    ID
    492
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    (None)
    # Submissions
    39
    Accepted
    17
    Uploaded By