#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里运行是这样的:
而我在VS Code里运行却是这样的:
这是神马情况?蒟蒻求助!