社区讨论

20求调

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

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@mhj3fm3v
此快照首次捕获于
2025/11/03 20:05
4 个月前
此快照最后确认于
2025/11/03 20:05
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int hahaha(int x) {
    int l=0;
    while(x) {
        x/=10;
        l++;
    }
    return l;
}
int n,a,b;
char sf;
string ac;
int main() {
    cin>>n;
    while(n--) {
        cin>>ac;
        if(ac[0]=='a') {
            cin>>a>>b;
            cout<<a<<"+"<<b<<"="<<a+b<<endl;
            cout<<hahaha(a)+hahaha(b)+hahaha(a+b)+2<<endl;
            sf='a';
        }
        else if(ac[0]=='b') {
            cin>>a>>b;
            cout<<a<<"-"<<b<<"="<<a-b<<endl;
            cout<<hahaha(a)+hahaha(b)+hahaha(a-b)+2<<endl;
            sf='b';
        }
        else if(ac[0]=='c') {
            cin>>a>>b;
            cout<<a<<"*"<<b<<"*"<<a-b<<endl;
            cout<<hahaha(a)+hahaha(b)+hahaha(a*b)+2<<endl;
            sf='c';
        }
        else {
            int shu=0;
            for(int i=0; i<ac.size(); i++) {
                shu=shu*10+(ac[i]-'0');
            }
            a=shu;
            cin>>b;
            if(sf=='a') {
                cin>>a>>b;
                cout<<a<<"+"<<b<<"="<<a+b<<endl;
                cout<<hahaha(a)+hahaha(b)+hahaha(a+b)+2<<endl;
                sf='a';
            }
            else if(sf=='b') {
                cin>>a>>b;
                cout<<a<<"-"<<b<<"="<<a-b<<endl;
                cout<<hahaha(a)+hahaha(b)+hahaha(a-b)+2<<endl;
                sf='b';
            }
            else if(sf=='c') {
                cin>>a>>b;
                cout<<a<<"*"<<b<<"*"<<a-b<<endl;
                cout<<hahaha(a)+hahaha(b)+hahaha(a*b)+2<<endl;
                sf='c';
            }
        }
    }
    return 0;
}
看起来没问题啊?

回复

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

正在加载回复...