实现返回字符串中最长数字串函数

来源:互联网 发布:淘宝宝贝销量查询工具 编辑:程序博客网 时间:2024/06/02 03:07


白天写的一个小练习,不难,但是粗心错了好几次,现在把代码贴出来:


/*写一个函数,它的原型是int continumax(char *outputstr,char *intputstr);功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给一个函数参数outputstr所指的内存。例如:“abcd12345ed125ss123456789”的首地址传给inputstr后,函数返回9,outputstr所指的值为123456789*/#include <stdio.h>#include <assert.h>int  continumax(char *outputstr,char *intputstr){assert((outputstr != NULL) && (intputstr != NULL));char *p = intputstr;char *p_max = NULL;int count = 0,max = 0;while(*p){if((*p >= '0')&&(*p <= '9')){p++;count++;}else{count = 0;p++;}if(count >= max){max = count;p_max = p - max;}}count = max;while((*outputstr++ = *p_max++)&&(--count));*outputstr = '\0' ;return max;} int main(void){char str[] = "12qwe3rrr2qwe34112eee234551322r23212we35213qew21eqw3r324132q4t52q21f";char p[20];int r = 0;r = continumax(p,str);printf("\n----------------------\n");printf("%d  %s \n",r,p);}


0 0
原创粉丝点击