题目口算题练习 代码
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
string s;
char fh[3]={'+','-','*'};
int JS(char c,int a,int b)
{
if(c=='a')
{
return a+b;
}
else if(c=='b')
{
return a-b;
}
else
{
return a*b;
}
}
int CD(int a)
{
int n=0;
if(a<0)
{
n+=1;
a=-a;
}
do
{
a/=10;
n++;
}
while(a>0);
return n;
}
int main()
{
int n;
cin>>n;
char c='a';
getchar();
for(int i=1;i<=n;i++)
{
int a=0,b=0,k=0;
getline(cin,s);
int l=s.size();
s=s+" ";
if(s[0]>='a' && s[0]<='c')
{
c=s[0];
k=2;
}
while(true)
{
if(s[k]!=' ')
{
a=a*10+(s[k]-'0');
k++;
}
else
{
break;
}
}
k++;
while(true)
{
if(s[k]!=' ')
{
b=b*10+(s[k]-'0');
k++;
}
else
{
break;
}
}
cout<<a<<fh[c-'a']<<b<<"="<<JS(c,a,b)<<endl<<CD(a)+CD(b)+CD(JS(c,a,b))+2<<endl;
}
}
我试了好几遍,明明是对的,偏偏是全错,求大佬帮助!