第1个回答 推荐于2016-10-18
#include<stdio.h>
#include<string.h>
#include<math.h>#define N 100
int change(char string[]);
int count_num(char *p,int *pt);void main()
{
char str[N],*p=str;
int a[N],*pt=a,i,n;
printf("Please enter a string:\n");
gets(p);
n=count_num(p,pt);
printf("\nnum=%d\n",n);
for(i=0;i<n;i++)
printf("%d ",*(pt+i));
printf("\n");
}int count_num(char *p,int *pt)
{
char string[N];
int i=0,num=0;
do
{
if(*p>='0'&&*p<='9')
{
string[i++]=*p;
}
else
{
string[i]='\0';
if(i)
{
*pt++=change(string);
i=0;
num++;
};
}
} while(*p++);
return num;
}int change(char string[])
{
char *p=string;
int i,j,number=0;
for(i=strlen(p)-1,j=0;i>=0;i--,j++)
{
number=number+(*(p+i)-'0')*(int)pow(10,j);
}
return number;
}本回答被网友采纳