在第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;
}