蒟蒻求救:为啥洛谷IDE和本地IDE结果不一样?
查看原帖
蒟蒻求救:为啥洛谷IDE和本地IDE结果不一样?
109369
easyf12楼主2021/8/27 19:14
#include <bits/stdc++.h>
#include <cstring>
using namespace std;
int main(){
    int n,f;
    cin>>n;
    cin.ignore();
    for(int k=1;k<=n;k++){
        string line;
        getline(cin,line);
        if(line[0]=='a'||line[0]=='b'||line[0]=='c'){
            int p,s1=0,s2=0;
            for(int i=2;i<line.size();i++){
                if(line[i]==' '){
                    p=i;
                    break;
                }
                else if(line[i]=='-'){
                    s1=-1;
                }
                else{
                    if(line[i-1]=='-')s1*=(line[i]-'0');
                    else s1=s1*10+(line[i]-'0');
                }
            }
            for(int i=p+1;i<line.size();i++){
                if(line[i]=='-'){
                    s2=-1;
                }
                else{
                    if(line[i-1]=='-')s2*=(line[i]-'0');
                    else s2=s2*10+(line[i]-'0');
                }
            }
            if(line[0]=='a'){
                f=1;
                int x=s1+s2,s=0;
                if(x<=0)s++;
                while(x!=0){
                    x/=10;
                    s++;
                }
                int l=line.size()-1+s;
                cout<<s1<<'+'<<s2<<'='<<s1+s2<<endl<<l;
            }
            if(line[0]=='b'){
                f=2;
                int x=s1-s2,s=0;
                if(x<=0)s++;
                while(x!=0){
                    x/=10;
                    s++;
                }
                int l=line.size()-1+s;
                cout<<s1<<'-'<<s2<<'='<<s1-s2<<endl<<l;
            }
            if(line[0]=='c'){
                f=3;
                int x=s1*s2,s=0;
                if(x<=0)s++;
                while(x!=0){
                    x/=10;
                    s++;
                }
                int l=line.size()-1+s;
                cout<<s1<<'*'<<s2<<'='<<s1*s2<<endl<<l;
            }
        }
        else if(line[0]!='a'&&line[0]!='b'&&line[0]!='c'){
            int p,s1=0,s2=0;
            for(int i=0;i<line.size();i++){
                if(line[i]==' '){
                    p=i;
                    break;
                }
                else if(line[i]=='-'){
                    s1=-1;
                }
                else{
                    if(line[i-1]=='-')s1*=(line[i]-'0');
                    else s1=s1*10+(line[i]-'0');
                }
            }
            for(int i=p+1;i<line.size();i++){
                if(line[i]=='-'){
                    s2=-1;
                }
                else{
                    if(line[i-1]=='-')s2*=(line[i]-'0');
                    else s2=s2*10+(line[i]-'0');
                }
            }
            if(f==1){
                int x=s1+s2,s=0;
                if(x<=0)s++;
                while(x!=0){
                    x/=10;
                    s++;
                }
                int l=line.size()+2+s;
                cout<<s1<<'+'<<s2<<'='<<s1+s2<<endl<<l;
            }
            if(f==2){
                int x=s1-s2,s=0;
                if(x<=0)s++;
                while(x!=0){
                    x/=10;
                    s++;
                }
                int l=line.size()+2+s;
                cout<<s1<<'-'<<s2<<'='<<s1-s2<<endl<<l;
            }
            if(f==3){
                int x=s1*s2,s=0;
                if(x<=0)s++;
                while(x!=0){
                    x/=10;
                    s++;
                }
                int l=line.size()+2+s;
                cout<<s1<<'*'<<s2<<'='<<s1*s2<<endl<<l;
            }
        }
        if(k<n)cout<<endl;
    }
    return 0;
}

代码在上。我在洛谷IDE里运行是这样的: hQhlZD.png 而我在VS Code里运行却是这样的: hQhYRI.png 这是神马情况?蒟蒻求助!

2021/8/27 19:14
加载中...