蒟蒻求助,P1689方程求解本机测都没问题了,求神犇指教。

P1689 方程求解

[评测记录](https://www.luogu.com.cn/record/81438305)
by jiangmuran @ 2022-07-27 21:07:01


@[jiangmuran](/user/645451) ``` 1-?=2 ``` 答案是-1,你的评测是3
by __BAI__ @ 2022-07-27 22:13:07


另外 ``` ?+1=2 ``` 你的答案是-1
by __BAI__ @ 2022-07-27 22:14:11


@[jiangmuran](/user/645451) 帮你改了,改的地方加了注释 ``` #include <iostream> using namespace std; long long js(long long a,long long b,char op) { if(op=='+') { return a+b; } else { return a-b; } } int main() { long long nums[3]={}; int flag,now=0; char op; char c; while(cin >>c) { if (c>='0' && c<='9') { nums[now]=nums[now]*10+(c-'0'); } else if(c=='+' || c=='-') { op=c; now++; } else if (c=='=') { now++; } else if (c=='?') { flag=now; } } if(flag == 0) { cout << js(nums[2],nums[1],op=='+'?'-':'+') << endl;//nums[2]与nums[1]换位置 } else if(flag == 1) { if(op=='-') cout << js(nums[0],nums[2],'-') << endl;//没想到什么比较简洁的,加多了个if else cout << js(nums[2],nums[0],'-') << endl; } else if(flag == 2) { cout << js(nums[0],nums[1],op) << endl; } } ```
by __BAI__ @ 2022-07-27 22:22:58


@[__INF__](/user/458493) 谢谢大佬指教
by jiangmuran @ 2022-07-28 10:29:31


|