求助P1957-40分!!!!!!
  • 板块题目总版
  • 楼主_Hu_Tao
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/8/15 23:59
  • 上次更新2023/10/27 15:13:29
查看原帖
求助P1957-40分!!!!!!
750558
_Hu_Tao楼主2022/8/15 23:59

题目链接

有个地方很诡异

样例输入:

a 275 125

输出:

75+125=200

显然不对!

应该是:275+125=400

但是不论我怎么改,输入275,收入的只有75。。。

求助各位大佬们

#include<bits/stdc++.h>
using namespace std;
char a;
char b[1005],c[1005];
int main(){
    int n,q1,q2,q3,x,y,j,d,flag;
    char t;

    cin>>n;
    for(int i=1;i<=n;i++){
        flag=0;
        cin>>a;
        scanf("%s",&b);
        scanf("%s",&c);
        x=strlen(b);
        y=strlen(c);
        if(a=='a'||a=='b'||a=='c'){
            t=a;
        }
        q1=0;
        for(int k=0;k<x;k++){
            q1=q1*10+b[k]-'0';
        }
        q2=0;
        for(int k=0;k<y;k++){
            q2=q2*10+c[k]-'0';
        }

        if(a=='a'){
            cout<<q1<<"+"<<q2<<"="<<q1+q2<<endl;
            d=q1+q2;
            if(d<0){
                flag=1;
            }
            d = abs(d);
            j=0;
            while(d!=0){
                j++;
                d/=10;
            }
        }
        else if(a=='b'){
            cout<<q1<<"-"<<q2<<"="<<q1-q2<<endl;
            d=q1-q2;
            if(d<0){
                flag=1;
            }
            d = abs(d);
            j=0;
            while(d!=0){
                j++;
                d/=10;
            }
        }
        else if(a=='c'){
            cout<<q1<<"*"<<q2<<"="<<q1*q2<<endl;
            d=q1*q2;
            if(d<0){
                flag=1;
            }
            d = abs(d);
            j=0;
            while(d!=0){
                j++;
                d/=10;
            }
        }
        else {
            if(t=='a'){
                cout<<q1<<"+"<<q2<<"="<<q1+q2<<endl;
                d=q1+q2;
                if(d<0){
                    flag=1;
                }
                d = abs(d);
                j=0;
                while(d!=0){
                    j++;
                    d/=10;
                }
            }
            else if(t=='b'){
                cout<<q1<<"-"<<q2<<"="<<q1-q2<<endl;
                d=q1-q2;
                if(d<0){
                    flag=1;
                }
                d = abs(d);
                j=0;
                while(d!=0){
                    j++;
                    d/=10;
                }
            }
            else if(t=='c'){
                cout<<q1<<"*"<<q2<<"="<<q1*q2<<endl;
                d=q1*q2;
                if(d<0){
                    flag=1;
                }
                d = abs(d);
                j=0;
                while(d!=0){
                    j++;
                    d/=10;
                }
            }
        }
        cout<<x+y+j+flag+2<<endl;

    }
}
2022/8/15 23:59
加载中...