Description
已知字符串中相邻的数字字符可以合并为一个有效数值,例如字符串“1#a#100acda06 2bbb bbb11ccccc”,其中包含的有效数值有1、100、06、2和11。输入一个字符串,求串中所有的有效数值之和。有效数值之和在整型数int范围内。
Input
一个字符串 (1<=长度<=50)
Output
字符串中所有的有效数值之和。
Sample Input
1#a#100acda06 2bbb bbb11ccccc
Sample Output
120
Hint
120(1+100+6+2+11)
//思路:
1.定义str数组储存输入;
2.判断输入是否是数字,不是数字则进入下一个字符;如果是字符则储存在str2数组里,直到遇到非数字,同时遇到非数字的时候要改变 j 的值使下次遇到数字;
3.最后把str2里的数字字符用atoi()来转化为整型;
代码如下:
#include#include #include #include #define length 50 void main() { char str[length]={0},str2[length][length]={0}; int num[length]={0},i,j=0,k=0,sum=0; gets(str); for(i=0;i ='0'){ strncat(&str2[j][k],&str[i],1); k++; }else j++; } for(i=0;i 总结:
1.学会运用strncat函数,可以让n个字符加入到指定数组里;
使用方法:C语言strncat()函数:在字符串的结尾追加n个字符_C语言中文网 (biancheng.net)
2.学会运用atoi()库函数把数字字符转换为数字;
如果有问题欢迎留言,共同进步!



