社区讨论

80分,求调

P1957口算练习题参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@miwkd5qy
此快照首次捕获于
2025/12/08 11:00
3 个月前
此快照最后确认于
2025/12/08 11:02
3 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
string sign,x,y;
int transtonum(string s){
    int num=0;
    for(int i=0;i<s.size();i++){
        num=num*10+(s[i]-'0');
    }
    return num;
}
string transtostr(int num1){
    string s="=",temps;
    if(num1<0){
        s+="-";
        num1=-num1;
    }
    if(num1==0){
        s="0";
        return s;
    }
    while(num1!=0){
        temps+=num1%10+'0';
        num1/=10;
    }
    for(int i=temps.size()-1;i>=0;i--){
        s+=temps[i];
    }
    return s; 
}
void solve(){
    string temp;
    cin>>temp;
    int x1,y1;
    string s,res;
    if(temp=="a"||temp=="b"||temp=="c"){
        if(temp=="a") sign="+";
        else if(temp=="b") sign="-";
        else if(temp=="c") sign="*";
        //sign=temp;
        cin>>x>>y;
        x1=transtonum(x),y1=transtonum(y);
        int emmm;
        if(sign=="+") emmm=x1+y1;
        else if(sign=="-") emmm=x1-y1;
        else if(sign=="*") emmm=x1*y1;
        s=transtostr(emmm);
        res=x+sign+y+s;
    }
    else {
        x=temp;
        cin>>y;
        int emmm;
         x1=transtonum(x),y1=transtonum(y);
        if(sign=="+") emmm=x1+y1;
        else if(sign=="-") emmm=x1-y1;
        else if(sign=="*") emmm=x1*y1;
        s=transtostr(emmm);
        res=x+sign+y+s;
    }
    cout<<res<<endl;
    cout<<res.size()<<endl;
}
int main(){
    int t;
    cin>>t;
    while(t--)
    solve();
    return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...