全WA,样例及第一组数据本地能过

P1957 口算练习题

天有不测风云 @ 2021-02-02 21:26:42

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int size2(int n)
{
  if(n<-100000) return 7;
  else if(n<-10000) return 6;
  else if(n<-1000) return 5;
  else if(n<-100) return 4;
  else if(n<-10) return 3;
  else if(n<0) return 2;
  else if(n==0) return 1;
  else if(n<10) return 1;
  else if(n<100) return 2;
  else if(n<1000) return 3;
  else if(n<10000) return 4;
  else if(n<100000) return 5;
  else if(n<1000000) return 6;
  else if(n<10000000) return 7;
  else if(n<100000000) return 8;
  else if(n<1000000000) return 9;
}
int size(int a,int b,int c)
{
  return size2(a)+size2(b)+size2(c)+2;
}
int count(char c,int a,int b)
{
  if(c=='a') return a+b;
  if(c=='b') return a-b;
  if(c=='c') return a*b;
}
int main()
{
  char ch,ch1;
  int a,b,c;
  int n;
  cin>>n;
  for(int i=1;i<=n;i++)
    {
      getchar();
      ch=getchar();
      //      cout<<"ab"<<a<<' '<<b<<endl;
      if((ch>='1')&&(ch<='9'))
    {
      cin>>a>>b;
      a=(ch-'0')*pow(10,size2(a))+a;
      c=count(ch1,a,b);
      cout<<a;
      if(ch1=='a') cout<<'+';
      if(ch1=='b') cout<<'-';
      if(ch1=='c') cout<<'*';
      cout<<b<<'='<<c<<endl<<size(a,b,c)<<endl;
    }
      else
    {
      getchar();
      cin>>a>>b;
      c=count(ch,a,b);
      //      cout<<'c'<<c<<endl;
      cout<<a;
      if(ch=='a') cout<<'+';
      if(ch=='b') cout<<'-';
      if(ch=='c') cout<<'*';
      cout<<b<<'='<<c<<endl<<size(a,b,c)<<endl;
    }
      ch1=ch;
    }
  return 0;
}

本地能过,在线IDE能过


|