在字符串中找出连续最长的数字串
描述
输入一个字符串,返回其最长的数字子串,以及其长度。若有多个最长的数字子串,则将它们全部输出(按原字符串的相对位置)
本题含有多组样例输入。
数据范围:字符串长度 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; }