本帖最后由 amd小子 于 2014-12-22 21:27 编辑
编程实现输入一个字符串,将其中连续的数字作为一个整数,依次存放到数组a中 例如:字符串为“ab123&gh6741kpen589”,
则将123存在a[0]中,6741存在a[1]中,589存在a[2]中。
#include<stdio.h>
#include<stdlib.h>
int fun(char *p,int *pa);
int main()
{
char p[20];
int a[20],d,i;
gets(p);
d=fun(p,a);
for(i=0;i<d;i++)
printf("%d",a);
system("pause");
return 0;
}
int fun(char *p,int *pa)
{
int i,j,k,e,n,m,d;
i=0;j=0;d=0;
while(*(p+i)!='\0')
{
if(*(p+i)>='0'&&*(p+i)<='9')
j++;
else
{
if(j>0)
{
n=*(p+i-1)-'0';
k=1;
while(k<j)
{
e=1;
for(m=1;m<=k;m++)
{
e=e*10;
n=n+(*(p+i-1-k)-'0')*e;
k++;
}
}
*pa=n;
d++;
pa++;
j=0;
}
i++;
}
}
return d;
}
18
|