输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一维数组中
#include<stdio.h>
#include<math.h>
#include<string.h>
int main(){
char str[50],*p,*t,n=0;
int digit=0,count=0,a[20];
double i=0;
printf("input a string:");
gets(str);
p=str+strlen(str)-1;
while((t=p-(int)i)>=str){
if(*t>='0'&&*t<='9'){
digit+=(*t-'0')*pow(10,n++);
}else if(n){
a[count++]=digit;
digit=0;
n=0;
}
i++;
}
if(n)
a[count++]=digit;
printf("共有%d个整数",count);
for(int i=0;i<count;i++){
printf("%d ",a[i]);
}
return 0;
}