题目:输入一段字符串,包括有字母、数字等类型字符,要求输出其中数字字符组成的整数之和
例如:
输入:
askhdf343Aljdfadsj78alasdSS2345alajdsf
输出:
343 + 78 + 2345 = 2771
源代码:
#include<stdio.h>#include<math.h>#include<string.h>int main(){//定义两个指针来记录位置 int i, sum, result=0, p1 = 0, p2 = 0, k = 0, num[1024];char str[1024];gets(str);while(1){if(str[p1]=='\0'){break;} while((str[p1]>='9'||str[p1]<='0')&&p1<strlen(str)){p1++;p2++;}while(str[p2]<='9'&&str[p2]>='0'&&p2<strlen(str)){p2++;}sum=0;while(p1<p2){sum+=(str[p1]-'0')*pow(10,p2-p1-1);p1++;}num[k++]=sum;}for(i=0;i<k;i++){result+=num[i];if(i==k-1){printf(" %d = %d",num[i],result);}else{printf("%d +",num[i]);}}return 0;}