您的位置:首页 > 编程语言 > C语言/C++

C语言 从字符串中提取数字

2011-12-26 16:26 148 查看
#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
,*p=str;

  int a
,*pt=a,i,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
;

  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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  语言 string c ini