在字符串中找出连续最长的数字串
2014-12-18 21:53
260 查看
#include <stdlib.h> #include <iostream> #include "oj.h" using namespace std; /* 功能:在字符串中找出连续最长的数字串,并把这个串的长度返回 函数原型: unsigned int Continumax(char** pOutputstr, char* intputstr) 输入参数: char* intputstr 输入字符串 输出参数: char** pOutputstr: 连续最长的数字串,如果连续最长的数字串的长度为0,应该返回空字符串 pOutputstr 指向的内存应该在函数内用malloc函数申请,由调用处负责释放 返回值: 连续最长的数字串的长度 */ unsigned int Continumax(char** pOutputstr, char* intputstr) { if (intputstr == NULL) { cerr<<"输入参数有问题"<<endl; } int max = 0; int pos =0; size_t tempMax =0; size_t tempPos =0; char *p = intputstr; bool flag =0;//标记第一个数字 int len =0; while (*p != '\0') { if (*p <='9' && *p >= '0') { if (flag == 0)//是第一个数字 { flag = 1; tempPos = len; } tempMax++; } else { if (tempMax >= max) { max = tempMax; pos = tempPos; } tempMax = 0; flag = 0; } p++; len++; } if (tempMax >= max) { max = tempMax; pos = tempPos; } *pOutputstr = (char *)malloc(sizeof(char)*(max +1)); memcpy_s(*pOutputstr,(max +1),intputstr+pos, max); (*pOutputstr)[max] = '\0'; return max; } int main() { char* intputstr = "" ; char *pOutputstr = NULL; unsigned int nLength = Continumax(&pOutputstr, intputstr); cout<< nLength <<endl; cout<<pOutputstr<<endl; free(pOutputstr); return 0; }
相关文章推荐
- 在字符串中找出连续最长的数字串,并把这个串的长度返回
- 25、在字符串中找出连续最长的数字串
- 华为OJ 在字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串
- 第25题: 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr),在字符串中找出连续最长的数字串,并把这个串的长度返回
- H面试程序(6):字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串
- 字符串操作系列_1在字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串
- 每天学习一点编程(4)(在字符串中找出连续最长的数字串,并把这个串的长度返回)
- 【练习】写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,
- 在字符串中找出连续最长的数字串并以参数形式返回,并把这个串的长度返回
- 在字符串中找出连续最长的数字串
- 找出字符串中的最长连续数字串
- 在字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串
- 字符串中找出连续最长的数字串
- 写正确函数需要注意的地方:在字符串中找出连续最长的数字串,并把这个串的长度返回
- 在字符串中找出连续最长的数字串,并把这个串的长度返回.
- 微软面试之25 在字符串中找出连续最长的数字串,并把这个串的长度返回,