实例二、从字符串中取出所有整数

来源:互联网 发布:http index.php 编辑:程序博客网 时间:2024/05/20 07:17

功能介绍:
当输入一个字符串时,内有数字字符和非数字字符,如:a123x567 17960? 302tab5876  将其中连续的数字作为一个整数依次存放到整数数组a中,例如,123放在a[0], 456放在a[1]中,等等,统计所有整数的个数,并输出这些,
 
实现代码如下:
#include <stdio.h>
int main()
{
 char str[60], *p = str;
 int sum = 0, a[30], num = 0, flag = 0, i;
 
 gets(str);
 while (*p != '\0')
 {
  if ((*p >= '0') && (*p <= '9'))
  {
   flag = 1;
   sum = 10*sum + *p - '0';
  }
  else
  {
   if ( flag )
   {
    a[num++] = sum;
    flag = 0;
    sum = 0;
   }
  }
  p++;
 }
 if ( flag )
 {
  a[num++] = sum;
 }
 for (i=0; i<num; i++)
 {
  printf("%d ", a[i]);
 }
 printf("\n");
 return 0;
}