您的位置:首页 > 其它

在字符串中找出连续最常的字符串,并把这个串的长度返回。

2014-07-06 16:13 281 查看
在字符串中找出连续最常的字符串,并把这个串的长度返回。

并把这个最长数字串赋给一个函数参数outputstr所指向的内存。

例如"abcd12345ed123sf3343461346345" 的首地址赋给inputstr后函数返回9,outputstr所指向的值为“3343461346345”;

[cpp] view
plaincopy

#include <iostream>

using namespace std;

int maxContinueNum(char* &outputstr, char* inputstr){

int maxLen = 0;

char* cursor = inputstr;

while(*cursor){

if(*cursor>='0'||*cursor<='9'){

char* tmp = cursor;

int tmplen = 0;

while(*cursor&&*cursor>='0'&&*cursor<='9'){

++tmplen;

++cursor;

}

if(tmplen>maxLen){

outputstr = tmp;

maxLen = tmplen;

}

}

if(!*cursor)

break;

++cursor;

}

return maxLen;

}

int main(){

char inputstr[] = "abcd12345ed123sf3343461346345";

char *outputstr;

int len = maxContinueNum(outputstr, inputstr);

for(int i = 0 ; i < len ; ++i)

cout<<outputstr[i];

cout<<endl;

system("PAUSE");

return 0;

}

此题要注意的是如何返回地址指针,通过指向地址指针的应用来保持地址指针,否则如果只是使用一维地址保持地址指针会丢失,因为是值传递。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐