有个地方很诡异
样例输入:
a 275 125
输出:
75+125=200
但是不论我怎么改,输入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;
}
}