C++80分求助
查看原帖
C++80分求助
1025958
511_Juruo_wyk楼主2023/11/23 22:11

样例已过

#include<bits/stdc++.h>
using namespace std;
const int N = 11;
char last;
char c[N];
int a1,a2;
int len(int n){
    if(n>0)return int(1+log10(n));
    else return 1+int(1+log10(abs(n)));
}
void print(int a1,int a2,int s,char c){
    printf("%d%c%d=%d\n%d\n",a1,c,a2,s,len(a1)+len(a2)+len(s)+2);
    return;
}
int main(){
    int t;cin>>t;
    while(t--){
        scanf("%s",c);
        if(c[0]>='0'&&c[0]<='9')a1=atof(c),c[0]=last;
        else scanf("%d",&a1);
        switch(c[0]){
            case 'a':scanf("%d",&a2),print(a1,a2,a1+a2,'+');break;
            case 'b':scanf("%d",&a2),print(a1,a2,a1-a2,'-');break;
            case 'c':scanf("%d",&a2),print(a1,a2,a1*a2,'*');break;
        }
        last=c[0];
    }
    return 0;
}
2023/11/23 22:11
加载中...