Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94747
  • 博文数量: 41
  • 博客积分: 866
  • 博客等级: 准尉
  • 技术积分: 282
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-22 22:49
文章分类

全部博文(41)

文章存档

2011年(41)

我的朋友

分类: C/C++

2011-11-26 18:04:51

  1.   
  2. #include   
  3. #include   
  4. #include   
  5.   
  6. int continummax(char *outputstr,char *inputstr)   
  7. {   
  8.     //当前的连续数字个数   
  9.     int count=0;   
  10.     //字符串中连续数字个数的最大值   
  11.     int max=0;   
  12.     //保存取得最大值的指针   
  13.     char *m;   
  14.     char *s=inputstr;   
  15.     int i=0;   
  16.     while(*s!='\0')   
  17.     {   
  18.         if(*s>='0'&&*s<='9')   
  19.         {   
  20.             count++;   
  21.         }   
  22.         else  
  23.         {   
  24.             if(count>max)   
  25.             {   
  26.                 max=count;   
  27.                 m=s-max;   
  28.             }   
  29.             count=0;   
  30.         }   
  31.         s++;   
  32.     }   
  33.     //有可能字符串末尾取到最大值   
  34.     if(count>max)   
  35.     {   
  36.         max=count;   
  37.         m=s-max;   
  38.     }   
  39.     while(i
  40.     {   
  41.         *outputstr=*(m+i);   
  42.         outputstr++;   
  43.         i++;   
  44.     }   
  45.     *outputstr='\0';   
  46.     return max;   
  47. }   
  48.   
  49. int main()   
  50. {   
  51.     char *inputstr="abcd12345ed125ss123456789";   
  52.     char *outputstr=(char *)malloc(strlen(inputstr)+1);   
  53.     int result=continummax(outputstr,inputstr);   
  54.     printf("result=%d\n",result);   
  55.     printf("最长连续数字串=%s\n",outputstr);   
  56.     return 0;   
  57. }  
阅读(930) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~