一道小题目交流--计算字符串中数字之和
背景:学生时代没有好好学习,导致现在在培训机构学习想走C开发道路今日考试,最后一道编程题当场没有做出来,感觉想多了。
后来自己实现了,但是感觉不是很牛X
题目:计算字符串中所有数字之和
譬如:12fs234hgi23 结果为12+234+23=269
目的:有没有高手有更好的方法,一起交流学习。
(注:第一次发帖)
代码:
#include <stdio.h>
#include <string.h>
int strnumsum(char *str){
int count = 0;
int sum = 0;
int i = 0;
int size = strlen(str);
int arr[size];
for(i=0; i<size; i++){
arr[i] = 0;
}
while(*str != '\0'){
if(*str <= '9' && *str >= '0'){
arr[count] = arr[count] * 10 + (*str - '0');
}else{
count++;
}
str++;
}
for(i=0; i<size; i++){
sum += arr[i];
}
return sum;
}
int main(void){
int sum = 0;
char *str = "12fs234hgi23";
sum = strnumsum(str);
printf("%d\n", sum);
}
结果:269 算是对吧