A4869 @ 2021-02-06 17:09:27
惊,同样的程序
#include<bits/stdc++.h>
using namespace std;
char s[15],o;
int t,i,j,f[3],len;
int _len(int x){
int cnt=0;
while(x)
cnt++,x/=10;
return cnt;
}
int main(){
scanf("%d\n",&t);
while(t--){
cin.getline(s,15);
f[1]=f[2]=0;
len=strlen(s);
switch(s[0]){
case 'a':{
o='a';
for(i=2,j=1;i<len;i++)
if(s[i]!=' ')
f[j]=f[j]*10+(s[i]-'0');
else
j=2;
printf("%d+%d=%d\n%d\n",f[1],f[2],f[1]+f[2],len-1+_len(f[1]+f[2]));
break;
}
case 'b':{
o='b';
for(i=2,j=1;i<len;i++)
if(s[i]!=' ')
f[j]=f[j]*10+(s[i]-'0');
else
j=2;
printf("%d-%d=%d\n%d\n",f[1],f[2],f[1]-f[2],len-1+_len(f[1]-f[2]));
break;
}
case 'c':{
o='c';
for(i=2,j=1;i<len;i++)
if(s[i]!=' ')
f[j]=f[j]*10+(s[i]-'0');
else
j=2;
printf("%d*%d=%d\n%d\n",f[1],f[2],f[1]*f[2],len-1+_len(f[1]*f[2]));
break;
}
default:{
for(i=0,j=1;i<len;i++)
if(s[i]!=' ')
f[j]=f[j]*10+(s[i]-'0');
else
j=2;
if(o=='a')
printf("%d+%d=%d\n%d\n",f[1],f[2],f[1]+f[2],len+1+_len(f[1]+f[2]));
else if(o=='b')
printf("%d-%d=%d\n%d\n",f[1],f[2],f[1]-f[2],len+1+_len(f[1]-f[2]));
else
printf("%d*%d=%d\n%d\n",f[1],f[2],f[1]*f[2],len+1+_len(f[1]*f[2]));
break;
}
}
}
return 0;
}
求教大佬们。
by A4869 @ 2021-02-06 17:10:46
提交和IDE的图不小心上反了