25.写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)

来源:互联网 发布:淘宝steam充值 编辑:程序博客网 时间:2024/06/16 22:59

写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,
outputstr所指的值为123456789

这里可以在原来出申请空间,也可以在函数中申请空间。不过在函数中申请空间要用到二级指针!

#include <iostream>int continumax(char **outputstr,char *intputstr);int main(){char* output = NULL ;char* input = "abcd12345ed125ss123456789";int i = continumax(&output,input);return 0;}int continumax(char **outputstr,char *intputstr){int j = 0;int nowmax = 0;int maxpoint = 0 ;for (int i=0;intputstr[i] != '\0';){if (j == 0){i++;j++;}else{while (intputstr[i-1]+1 == intputstr[i]){j++;i++;}if (j>nowmax){nowmax = j ;maxpoint = i-j;}j = 0 ;}}char* temp = new char[nowmax+1] ;for (int i=0;i<nowmax;i++)temp[i] = intputstr[maxpoint+i];temp[nowmax] = '\0' ;*outputstr = temp ;return nowmax;}


 

原创粉丝点击