描述
请编写一个程序实现以下功能: 从一个字符串中,提取出所有的数字字符即0-9,并作为数求和。
时间限制: 1000ms
内存限制: 65536kb
输入
一行字符串,长度不超过100,字符串中不含空格。
输出
字符串中所有数字字符作为数的和。
样例输入
Lsd2f02k3ja3sdf223
样例输出
17
解析
字符串中不包含空格,所以输入方式可以直接采用cin,通过遍历获取到数字字符,然后解决这个问题的关键点是让数字字符减去‘0’.因为是要获取到数字类型的数字,所以需要数字字符减去字符‘0’获取,然后采用累加求和的方式获得结果。由于题目比较简单,直接上完整代码。
代码
#include<bits/stdc++.h>
using namespace std;
string s;
int sum;
int main(){
cin>>s;
for(int i=0;i<s.size();i++){
if('0'<=s[i]&&s[i]<='9')sum+=s[i]-'0';
}
cout<<sum;
return 0;
}