这道题是有点难,所以
我给点建议吧,我们可以靠cin输入过滤空格。
这样空格的问题解决了。然后判断符号,和数字。如果查到"?"那么就执行
else if(n=='?'){
if(p==0)a=-2;
else if(p==1)b=-2;
else c=-2;
}
,所以可以:
while(cin>>n){
if(n=='+'||n=='-'){op=n;p=1;}
else if(n=='=')p=2;
else if(n=='?'){
if(p==0)a=-2;
else if(p==1)b=-2;
else c=-2;
}else if(n>='0'&&n<='9'){
long long *x;
if(p==0)x=&a;
else if(p==1)x=&b;
else x=&c;
if(*x==-1)*x=0;
*x=*x*10+(n-'0');
}
}
原谅代码变量有点乱,最后判断符号就好,我没发完整代码。
因为:规则上写不要发题解,所以我就写这些了,希望有帮助。
我再说一句,我的代码可能是最少的,勿喷。