题解 P2788 【数学1(math1)- 加减算式】

Javi

2019-07-23 16:39:26

Solution

广告: # 点击[食用](https://www.starroad.top/archives/416.html)以获得最佳效果 讲一个无耻的解法。 我们知道,如果每一个数之间都打一个空格,就可以简单的使用下面的程序解决。 ```cpp #include <bits/stdc++.h> using namespace std; int main(){ long long n,ans=0; while(cin>>n){ ans+=n; } cout<<ans<<endl; return 0; } ``` 现在我们读入的是一个字符串,我们就使用字符串流手动把空格补上。 ```cpp #include <bits/stdc++.h> using namespace std; int main(){ string s;//读入的字符串 stringstream ca;//字符串流 cin>>s;//读入字符串 for(unsigned int i=0;i<s.size();i++){ if(s[i]>='0'&&s[i]<='9'){//数字 ca<<s[i]; } else{//符号 ca<<" "<<s[i]; } } long long n,ans=0; while(ca>>n){//cin>>n ans+=n; } cout<<ans<<endl; return 0; } ```