一下两份代码有且仅有输入方式上的不同(一个cin
一个scanf
),然而一个AC一个全WA,请问这是为什么qwq
#include<cstdio>
#include<iostream>
using namespace std;
const int MOD=10000;
int cal(int x,char pre)
{
int y;
cin>>y;
char op;
if(!(cin>>op))
{
if(pre=='+')
return (x+y)%MOD;
else
return x*y%MOD;
}
if(pre=='*')
return cal(x*y%MOD,op);
else
{
if(op=='+')
return cal((x+y)%MOD,op);
else return x+cal(y,op)%MOD;
}
}
int main()
{
printf("%d\n",cal(0,'+')%MOD);
return 0;
}
#include<cstdio>
const int MOD=10000;
int cal(int x,char pre)
{
int y;
scanf("%d",&y);
char op;
if(scanf("%c",&op)==EOF)
{
if(pre=='+')
return (x+y)%MOD;
else
return x*y%MOD;
}
if(pre=='*')
return cal(x*y%MOD,op);
else
{
if(op=='+')
return cal((x+y)%MOD,op);
else return x+cal(y,op)%MOD;
}
}
int main()
{
printf("%d\n",cal(0,'+')%MOD);
return 0;
}