C/C++ | 21-9 字符串中找出连续最长的数字串,并把这个串的长度返回

来源:互联网 发布:网络kn什么意思 编辑:程序博客网 时间:2024/06/05 21:07
/*写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr 所指内存。例如:"abcd12345ed125ss123456789"的首地址传给intputstr 后,函数将返回9,outputstr 所指的值为123456789*/#include <stdio.h>  #include <stdlib.h>#include <iostream>#include <string.h>#include <assert.h>using namespace std;int continumax(char *outputstr, char *intputstr){char *out, *in,*temp=NULL,*final=NULL;in = intputstr;out = outputstr;int count = 0;int longth=0;int num = 0;while (*in != '\0')  {if (*in > 47 && *in < 58){for (temp = in; *in > 47 && *in < 58; in++)//这个for用的好count++;}elsein++;if (longth < count){longth = count;count = 0;final = temp;}else if (longth == count){num++;longth = count;count = 0;final = temp;}}for (int i = 0; i < longth; i++){*out = *final;out++;final++;}*out = '\0';return longth;}int main(){char *a = "abcd12345ed125ss123456789";char *b = NULL;b = (char *)malloc(sizeof(char)*strlen(a));continumax(b, a);cout << b << endl;free(b);system("pause");return 0;}
//如有问题,请指出,谢谢~

阅读全文
0 0
原创粉丝点击