> 文档中心 > 在字符串中找出连续最长的数字串

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


描述

输入一个字符串,返回其最长的数字子串,以及其长度。若有多个最长的数字子串,则将它们全部输出(按原字符串的相对位置)

本题含有多组样例输入。

数据范围:字符串长度 1 \le n \le 200 \1≤n≤200  , 保证每组输入都至少含有一个数字

输入描述:

输入一个字符串。1<=len(字符串)<=200

输出描述:

输出字符串中最长的数字字符串和它的长度,中间用逗号间隔。如果有相同长度的串,则要一块儿输出(中间不要输出空格)。

示例1

输入:

abcd12345ed125ss123058789a8a72a6a5yy98y65ee1r2

复制输出:

123058789,9729865,2

复制说明:

样例一最长的数字子串为123058789,长度为9样例二最长的数字子串有72,98,65,长度都为2    

 

#includeusing namespace std;int main(){   multimap l1;    int max=0; char str[201];    cin>>str;    char *x=str;    int count=0;    while(*x)    {     string arr;  if(*x>='0'&&*x='0'&&*y=max)     {     max=count;     pair tmp(count,arr);     l1.insert(tmp);     }     x=y;   } else {     x++; }   }     auto ptr=l1.equal_range(max); multimap::iterator l; for( l=ptr.first;l!=ptr.second;l++) {     cout<second; }    cout<<","<<max<<endl;    }

钢筋混凝土切割网