#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
int sum;
while(cin>>s){
sum=0;
for(int i=0;i<s.length();i++)
sum+=s[i]-'0';
cout<<sum<<endl;
}
return 0;
#include<string>
using namespace std;
int main(){
string s;
int sum;
while(cin>>s){
sum=0;
for(int i=0;i<s.length();i++)
sum+=s[i]-'0';
cout<<sum<<endl;
}
return 0;
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------
我在网上搜了C++中的string转int,用C++标准库中的<sstream>还有C标准库中的atoi,但编译都不过,最后同学来直接就写s[i]-‘0’就行了,我顿时就呆住了!
这样也行?!!!说是ASCII码的原理!0在string里是48来着,1在string里是49,所以s[i]-'0'就是int型对应的数!
还有就是,string s,用s.length()或s.size()可以访问s的长度。s[i]可以访问 s里的单个元素!