首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

在字符串中找到连续最长的数字串,并把这个串的长度返回

2012-09-11 
在字符串中找出连续最长的数字串,并把这个串的长度返回.【题目】写一个函数,它的原形是 int continumax(char

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

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

【思路】求字串问题

代码如下:

// continuemax2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <string>using namespace std;int continueMex(char*&outStr,char *inStr){if (NULL==inStr){return -1;}int count=0;int maxNum=0;for (unsigned int i=0;i<strlen(inStr);){ if(*(inStr+i)>'9' || *(inStr+i)<'0'){count=0;i++;} else { count++; i++; if (maxNum<count) { maxNum=count; outStr=inStr+i-count; } }}return maxNum;}int _tmain(int argc, _TCHAR* argv[]){char *a="asd324sdd123456a@f40034";char *b=a;cout<<continueMex(b,a)<<endl;string s=b;cout<<s.substr(0,continueMex(b,a)); //输出符合要求的字串system("pause");return 0;}


 

热点排行