程序要求能够提取输入的字符串中的数字,将数字累加,得到数字之和,如输入的字符串为”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;}