程序要求能够提取输入的字符串中的数字,将数字累加,得到数字之和,如输入的字符串为”abc76wet23er1.”,应该提取数字76,23,1,求和后,即76+23+1=100,要求输入的字符串最后一个字符不能为数字字符。

输入格式:

输入一个字符串,字符串长度不超过100.

输出格式:

输出字符串中的数字之和

输入样例1:

在这里给出一组输入。例如:

abc76wet23er1.

输出样例1:

在这里给出相应的输出。例如:

100

输入样例2:

在这里给出一组输入。例如:

wwq100rty23fg45k

输出样例2:

在这里给出相应的输出。例如:

168

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

起初不明白摘出数字如何相加,学了很多大佬的代码后明白了如何运算求和

以下为思路和代码

#includeint main() {//1.输入一串字符串char str[100];int i,count=0,sum=0;gets(str);for(i=0;str[i]!='\0';i++){//printf("%c",str[i]);//2.提取其中数字//2.1组合数字[无法完成]-换个思路,去掉所有的非数字元素 //2.1.1一个组合前后都是字母,遇见字母组合停止记录 if(str[i]>='0'&&str[i]<='9'){count=count*10+(str[i]-'0');//3.1数字的和是后面数字和10倍相加,相当与记录 }else{sum=sum+count;//3.2如果遇见字母就停止记录,做相加 count=0;}//3. 数字相加 }printf("%d\n",sum);return 0;}