输入一个字符串并打印字符串中数字的总和
输入:abc123kjewd456
输出:579
我想用字符串、数组、循环和很多方式中的指针进行编码,你能帮我使用最好的方法吗?我可以向您提供完整的主题:当今,保护用户信息是每个计算机用户的一个问题。为了提高帐户的安全性,Nam 决定使用由英文字母和数字组成的代码序列来隐藏其密码。由于很久没用过,所以记不太清了。我想请各位程序员帮我找回密码。密码是序列中数字的总和。
int sumInString(const char *str) {
// valid str
if (str == NULL || *str == '\0') {
return 0;
}
int num = 0;
int res = 0;
int i = 0;
while (str[i] != '\0') {
if (str[i] >= '0' && str[i] <= '9') /*is numerical*/ {
num *= 10;
num += str[i] - '0'; // char->int conversion
} else {
res += num;
num = 0;
}
++i;
}
res += num; // add the remainder
return res;
}