读书人

一个C面试标题

发布时间: 2013-03-25 15:43:04 作者: rapoo

一个C面试题目
最近看到一个题目:
随便输入一个字符串比如abc23dshjdj124ydus@6, 提取这个字符串中的数字,并将结果累加得出结果,此字符串就是23+124+6
请问有牛人知道该怎么解这个吗?最好能给个完整点代码,没有完整代码核心代码也行,麻烦给点简短思路或者注释
谢谢了!
int getStringNum(char* String)
[解决办法]
用strtok和atoi,楼主可以了解下
[解决办法]


int getStringNum(char* String)
{
int len = strlen(String);
for(int i = 0; i < len; i++)
if(String[i] < '0'
[解决办法]
String[i] > '9')
String[i] = ' ';

char *token;
int sum = 0;
int num;

token = strtok(String, " ");
while(token != NULL)
{
num = atoi(token);
sum += num;
token = strtok(NULL, " ");
}
return sum;
}

读书人网 >C语言

热点推荐