讲一个无耻的解法。
我们知道,如果每一个数之间都打一个空格,就可以简单的使用下面的程序解决。
#include <bits/stdc++.h>
using namespace std;
int main(){
long long n,ans=0;
while(cin>>n){
ans+=n;
}
cout<<ans<<endl;
return 0;
}
现在我们读入的是一个字符串,我们就使用字符串流手动把空格补上。
#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;
}
版权声明:本文是原创文章,版权归 星雾月雨 所有。
本文链接:https://www.ariels.xyz/archives/416.html
本站所有下方标记为「允许规范转载」的原创文章均采用 署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可。
您可以自由地转载,但请务必注明文章来源且不可用于商业目的。