您的位置:首页 > 其它

在字符串中找出连续最长的数字串

2012-09-24 11:26 295 查看
写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存。例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,outputstr所指的值为123456789
#include<iostream>#include<stdlib.h>#include<string.h>using namespace std;int ContinueMax(char * output, const char * input){if (NULL == input)return 0;const char* begin = NULL;int max_len = 0;for (const char * p = input; *p != '\0';){if (!isdigit(*p)){p++;continue;}int sum  = 0;const char * tmp = p;for(;isdigit(*p); p++, sum++);if (sum > max_len){begin = tmp;max_len = sum;}}memcpy(output, begin, max_len);return max_len;}int main(){char output[100];char input[100];while (true){cin >> input;memset(output, 0 , sizeof(output));int len = ContinueMax(output, input);cout << len<<" " << output<<endl;}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: