幼儿园的小朋友们一直在研究一个问题—— 如何在一个长长的句子中找到最大的那个非负整数(不存在负数)。你很不幸的被他们拖住了,又很不幸的被他们叫去执行这个任务,你非常得不爽! 因为你觉得这么简单的问题简直侮辱了你的智商,所以你决定写一个程序来代劳。
输入
输入有多组数据。每组输入一个句子(一定包含数字字符,可能包含空格),长度小于256,占一行
输出
输出对应有多行,每行输出所找出的最大的那个非负整数
样例输入
&&12345aBsdDkjie64skjd5lk
3*2&&0%%%00B58CD000000b
a000b0000000c000
样例输出
12345
58
0
思路
a[] 是输入的一行内容
遍历a[],安排一个b[] 如果是数字字符的话就存进b里
存完之后,和max比较,大的话就它就是最大的
代码
#include<iostream>
#include<string>
using namespace std;
int main(){
string a;
getline(cin,a);
string max="0";
for(int i=0;i<a.size();i++){
if (a[i]>'0' && a[i]<='9'){//!!!!!!!!!!
string b;
while(a[i]>='0'&&a[i]<='9'){
b+=a[i++]; //+= !!!!!!!!!!!!
}
if(b.size()>max.size()||(b.size()==max.size()&&b>max))//!!!!!!!!
{
max=b;
}
}
}
cout<<max<<endl;
}