输入一个字符串,内有数字和非数字字符,例如:a123x67 222y35i088 09x8 c,请编写程序,将其中连续的数字作为一个整数,依次存放到一维数组a中。例如前面的字符串,应将123存放到a[0]中,67存放到a[1]中……,最后输出整数的个数以及各个整数的值。
#include<stdio.h>
int main()
{
char s[100]={0};
int n,count=0,a[100]={0};
gets(s);
char *p=s; while(*p!='\0')
{
n=1;
if(*p>='0'&&*p<='9')
{
while(*(p+n)>='0'&&*(p+n)<='9')
{
n++;
}
int sum=0;
for(int k=0;k<n;k++)
{
sum=sum*10+(*(p+k)-'0');
}
a[count++]=sum;
}
p=p+n;
}
printf("%d\n",count);
printf("%d",a[0]);
for(int i=1;i<count;i++)
{
printf(" %d",a[i]);
}
}