#2333: a017_五則運算:不知道哪裡錯了,一直RE


zoearth (zoearth)

學校 : 國立臺中第二高級中學
編號 : 7265
來源 : [61.221.57.250]
最後登入時間 :
2021-05-14 11:28:51
a017. 五則運算 | From: [58.99.52.5] | 發表日期 : 2009-08-31 21:29

大家好,我是C++新手

在Dev-C++測都OK

但是丟上來就是RE

請大家幫幫忙!!拜託了!!!

 

 

 #include<iostream>


using namespace std;


string inttost(long long int $input)
   {
   char $out[100];
   string $output="";
   int $i,$a,$k;
   $k=0;
   $i=1;
   while ($input >= 10)
      {
      $a=$input%10;
      if ($a==0)
         {$out[$i]='0';}
      else if ($a==1)
         {$out[$i]='1';}
      else if ($a==2)
         {$out[$i]='2';}
      else if ($a==3)
         {$out[$i]='3';}
      else if ($a==4)
         {$out[$i]='4';}
      else if ($a==5)
         {$out[$i]='5';}
      else if ($a==6)
         {$out[$i]='6';}
      else if ($a==7)
         {$out[$i]='7';}
      else if ($a==8)
         {$out[$i]='8';}
      else if ($a==9)
         {$out[$i]='9';}
      else
         {}
      $input=$input/10;
      $i++;
      }
      $a=$input;
      if ($a==0)
         {$out[$i]='0';}
      else if ($a==1)
         {$out[$i]='1';}
      else if ($a==2)
         {$out[$i]='2';}
      else if ($a==3)
         {$out[$i]='3';}
      else if ($a==4)
         {$out[$i]='4';}
      else if ($a==5)
         {$out[$i]='5';}
      else if ($a==6)
         {$out[$i]='6';}
      else if ($a==7)
         {$out[$i]='7';}
      else if ($a==8)
         {$out[$i]='8';}
      else if ($a==9)
         {$out[$i]='9';}
      else
         {}
      for ($k=1;$k<=$i;$k++)
         {
         $output=$out[$k]+$output;
         }
   return $output;
   }

string noww(string $input)
   {
   int $al,$i;
   string $output="";
   $al=$input.size();
       for ( $i=0;$i<$al;$i++)
          {
          if ($input[$i] !=' ')
             {
             $output=$output+$input[$i];
             }
          }
   return  $output;
   }

long long int count(string $input)
   {
   int $i,$ss;
   long long int $num[200];
   char $ww[200];
   for ($i=0;$i<=199;$i++)
      {
      $num[$i]=0;
      $ww[$i]='_';
      }
   $ss=0;

   for ($i=0;$i<$input.size();$i++)
      {
      if ($input[$i] >= 48 && $input[$i] <= 57)
         {
         $num[$ss]=$num[$ss]*10 + int($input[$i])-48;
         }
      else
         {
         $ww[$ss]=$input[$i];
         $ss++;
         }
      }

   for ($i=0;$i<=$ss;$i++)
      {
      if ($ww[$i]=='*')
         {
         $num[$i+1]=$num[$i]*$num[$i+1];
         $ww[$i]='+';
         $num[$i]=0;
         }
      else if ($ww[$i]=='/')
         {
         $num[$i+1]=$num[$i] / $num[$i+1];
         $ww[$i]='+';
         $num[$i]=0;
         }
      else if ($ww[$i]=='%')
         {
         $num[$i+1]=$num[$i] % $num[$i+1];
         $ww[$i]='+';
         $num[$i]=0;
         }
      else
         {}
      }

   for ($i=0;$i<=$ss;$i++)
      {
      if ($ww[$i]=='+')
         {
         $num[$i+1]=$num[$i] + $num[$i+1];
         $ww[$i]='+';
         $num[$i]=0;
         }
      else if ($ww[$i]=='-')
         {
         $num[$i+1]=$num[$i] - $num[$i+1];
         $ww[$i]='+';
         $num[$i]=0;
         }
      else
         {}
      }
return $num[$ss];
   }





int main()
    {
    string $in,$intmp,$input;
    int $a,$al,$wic1,$wic2,$i,$cr;
    string $tmp;
    while ( getline(cin, $in) )
       {

       $in=noww($in);

       while (int($in.find('(')) >= 0)
          {
          for ($i=0;$i<$in.size();$i++)
             {
             if ($in[$i]=='(')
                {
                $wic1=$i;
                }
             }
          for ($i=$wic1;$i<$in.size();$i++)
             {
             if ($in[$i]==')')
                {
                $wic2=$i;
                $i=$i+100;
                }
             }

          $input="";
          for ($i=$wic1+1;$i<$wic2;$i++)
             {
             $input=$input+$in[$i];
             }

          $cr=count($input);

          $tmp=inttost($cr);

          $intmp="";
          for ($i=0;$i<$wic1;$i++)
             {
             $intmp=$intmp+$in[$i];
             }
          $intmp=$intmp+$tmp;

          for ($i=$wic2+1;$i<$in.size();$i++)
             {
             $intmp=$intmp+$in[$i];
             }

          $in=$intmp;
          }

       cout << count($in) << endl;
       }

    return 0;
    }

 

 

 

 

 
#2655: Re:a017_五則運算:不知道哪裡錯了,一直RE


fkblhdhjji (安哥)

學校 : 國立臺灣大學
編號 : 8982
來源 : [140.112.211.56]
最後登入時間 :
2011-05-15 22:32:08
a017. 五則運算 | From: [140.112.239.216] | 發表日期 : 2009-11-11 16:49

大家好,我是C++新手

在Dev-C++測都OK

但是丟上來就是RE

請大家幫幫忙!!拜託了!!!

 

(2*(3-5%2))*5=40???

 #include


using namespace std;


string inttost(long long int $input)
   {
   char $out[100];
   string $output="";
   int $i,$a,$k;
   $k=0;
   $i=1;
   while ($input >= 10)
      {
      $a=$input%10;
      if ($a==0)
         {$out[$i]='0';}
      else if ($a==1)
         {$out[$i]='1';}
      else if ($a==2)
         {$out[$i]='2';}
      else if ($a==3)
         {$out[$i]='3';}
      else if ($a==4)
         {$out[$i]='4';}
      else if ($a==5)
         {$out[$i]='5';}
      else if ($a==6)
         {$out[$i]='6';}
      else if ($a==7)
         {$out[$i]='7';}
      else if ($a==8)
         {$out[$i]='8';}
      else if ($a==9)
         {$out[$i]='9';}
      else
         {}
      $input=$input/10;
      $i++;
      }
      $a=$input;
      if ($a==0)
         {$out[$i]='0';}
      else if ($a==1)
         {$out[$i]='1';}
      else if ($a==2)
         {$out[$i]='2';}
      else if ($a==3)
         {$out[$i]='3';}
      else if ($a==4)
         {$out[$i]='4';}
      else if ($a==5)
         {$out[$i]='5';}
      else if ($a==6)
         {$out[$i]='6';}
      else if ($a==7)
         {$out[$i]='7';}
      else if ($a==8)
         {$out[$i]='8';}
      else if ($a==9)
         {$out[$i]='9';}
      else
         {}
      for ($k=1;$k<=$i;$k++)
         {
         $output=$out[$k]+$output;
         }
   return $output;
   }

string noww(string $input)
   {
   int $al,$i;
   string $output="";
   $al=$input.size();
       for ( $i=0;$i<$al;$i++)
          {
          if ($input[$i] !=' ')
             {
             $output=$output+$input[$i];
             }
          }
   return  $output;
   }

long long int count(string $input)
   {
   int $i,$ss;
   long long int $num[200];
   char $ww[200];
   for ($i=0;$i<=199;$i++)
      {
      $num[$i]=0;
      $ww[$i]='_';
      }
   $ss=0;

   for ($i=0;$i<$input.size();$i++)
      {
      if ($input[$i] >= 48 && $input[$i] <= 57)
         {
         $num[$ss]=$num[$ss]*10 + int($input[$i])-48;
         }
      else
         {
         $ww[$ss]=$input[$i];
         $ss++;
         }
      }

   for ($i=0;$i<=$ss;$i++)
      {
      if ($ww[$i]=='*')
         {
         $num[$i+1]=$num[$i]*$num[$i+1];
         $ww[$i]='+';
         $num[$i]=0;
         }
      else if ($ww[$i]=='/')
         {
         $num[$i+1]=$num[$i] / $num[$i+1];
         $ww[$i]='+';
         $num[$i]=0;
         }
      else if ($ww[$i]=='%')
         {
         $num[$i+1]=$num[$i] % $num[$i+1];
         $ww[$i]='+';
         $num[$i]=0;
         }
      else
         {}
      }

   for ($i=0;$i<=$ss;$i++)
      {
      if ($ww[$i]=='+')
         {
         $num[$i+1]=$num[$i] + $num[$i+1];
         $ww[$i]='+';
         $num[$i]=0;
         }
      else if ($ww[$i]=='-')
         {
         $num[$i+1]=$num[$i] - $num[$i+1];
         $ww[$i]='+';
         $num[$i]=0;
         }
      else
         {}
      }
return $num[$ss];
   }





int main()
    {
    string $in,$intmp,$input;
    int $a,$al,$wic1,$wic2,$i,$cr;
    string $tmp;
    while ( getline(cin, $in) )
       {

       $in=noww($in);

       while (int($in.find('(')) >= 0)
          {
          for ($i=0;$i<$in.size();$i++)
             {
             if ($in[$i]=='(')
                {
                $wic1=$i;
                }
             }
          for ($i=$wic1;$i<$in.size();$i++)
             {
             if ($in[$i]==')')
                {
                $wic2=$i;
                $i=$i+100;
                }
             }

          $input="";
          for ($i=$wic1+1;$i<$wic2;$i++)
             {
             $input=$input+$in[$i];
             }

          $cr=count($input);

          $tmp=inttost($cr);

          $intmp="";
          for ($i=0;$i<$wic1;$i++)
             {
             $intmp=$intmp+$in[$i];
             }
          $intmp=$intmp+$tmp;

          for ($i=$wic2+1;$i<$in.size();$i++)
             {
             $intmp=$intmp+$in[$i];
             }

          $in=$intmp;
          }

       cout << count($in) << endl;
       }

    return 0;
    }

 

 

 

 


 
ZeroJudge Forum