本身觉得没问题,却出错了,是方法不行吗?
#include<bits/stdc++.h>
using namespace std;
int n,m,ans;
char s;
void d(int x){
if(!x)
return;
d(x/2);
cout<<x%2;
return;
}
int main(){
cin>>n>>m;
for(int i=n;i>0;i--){
cin>>s;
ans*=2;
ans+=s-48;
}
while(m--){
cin>>s;
switch(s){
case '+':
ans+=1;
break;
case '-':
ans-=1;
break;
case '*':
ans*=2;
break;
case '/':
ans/=2;
break;
}
}
d(ans);
cout<<endl;
return 0;
}