#2386: 不知道哪邊錯了


zoearth (zoearth)

學校 : 國立臺中第二高級中學
編號 : 7265
來源 : [61.221.57.250]
最後登入時間 :
2021-05-14 11:28:51
d016. 後序運算法 | From: [58.99.66.137] | 發表日期 : 2009-09-15 23:29

在第11資測時錯誤

 

請大家看看程式碼

 #include<iostream>
using namespace std;




int main()
    {
    string $in;
    char $input[100];
    int $a,$b,$i,$ll,$wn;
    long long int $tmpnum[10],$tmp;
    while ( getline(cin, $in) )
       {
       $ll=$in.size();
       for ($i=0;$i<$in.size();$i++)
          {
          $input[$i]=$in[$i];
          }
       //cout << $input << endl;
       //一個一個讀取計算
       $tmp=0;
       $wn=0;
       for ($i=0;$i<$ll;$i++)
          {
          if ($input[$i] >= '0' && $input[$i] <= '9' )
             {
             $tmp=($tmp*10)+(int($input[$i])-48);
             }
          else if ($input[$i] == ' ' && ( $input[$i-1] >= '0' && $input[$i-1] <= '9'  ) )
             {
             $tmpnum[$wn]=$tmp;
             //cout << $tmp << endl;
             $wn++;
             $tmp=0;
             }
          else if ($input[$i] == '+')
             {
             if ($wn==2)
                {
                $tmpnum[0]=$tmpnum[0]+$tmpnum[1];
                $wn=1;
                }
             else if ($wn==3)
                {
                $tmpnum[1]=$tmpnum[1]+$tmpnum[2];
                $wn=4;
                }
             else if ($wn==4)
                {
                $tmpnum[0]=$tmpnum[0]+$tmpnum[1];
                $wn=1;
                }
             }
          else if ($input[$i] == '-')
             {
             if ($wn==2)
                {
                $tmpnum[0]=$tmpnum[0]-$tmpnum[1];
                $wn=1;
                }
             else if ($wn==3)
                {
                $tmpnum[1]=$tmpnum[1]-$tmpnum[2];
                $wn=4;
                }
             else if ($wn==4)
                {
                $tmpnum[0]=$tmpnum[0]-$tmpnum[1];
                $wn=1;
                }
             }
          else if ($input[$i] == '*')
             {
             if ($wn==2)
                {
                $tmpnum[0]=$tmpnum[0]*$tmpnum[1];
                $wn=1;
                }
             else if ($wn==3)
                {
                $tmpnum[1]=$tmpnum[1]*$tmpnum[2];
                $wn=4;
                }
             else if ($wn==4)
                {
                $tmpnum[0]=$tmpnum[0]*$tmpnum[1];
                $wn=1;
                }
             }
          else if ($input[$i] == '/')
             {
             if ($wn==2)
                {
                if ($tmpnum[1]==0){$tmpnum[1]=1;}
                $tmpnum[0]=$tmpnum[0]/$tmpnum[1];
                $wn=1;
                }
             else if ($wn==3)
                {
                if ($tmpnum[1]==0){$tmpnum[2]=1;}
                $tmpnum[1]=$tmpnum[1]/$tmpnum[2];
                $wn=4;
                }
             else if ($wn==4)
                {
                if ($tmpnum[1]==0){$tmpnum[1]=1;}
                $tmpnum[0]=$tmpnum[0]/$tmpnum[1];
                $wn=1;
                }
             }
          else if ($input[$i] == '%')
             {
             if ($wn==2)
                {
                if ($tmpnum[1]==0){$tmpnum[1]=1;}
                $tmpnum[0]=$tmpnum[0]%$tmpnum[1];
                $wn=1;
                }
             else if ($wn==3)
                {
                if ($tmpnum[1]==0){$tmpnum[2]=1;}
                $tmpnum[1]=$tmpnum[1]%$tmpnum[2];
                $wn=4;
                }
             else if ($wn==4)
                {
                if ($tmpnum[1]==0){$tmpnum[1]=1;}
                $tmpnum[0]=$tmpnum[0]%$tmpnum[1];
                $wn=1;
                }
             }
          else
             {}
          }
       //if ($tmpnum[0]==(-24))
       //{cout << $in;}
       cout << $tmpnum[0] << endl;
       }
    
    
    //system("pause");
    return 0;
    }

 
ZeroJudge Forum