幼儿园的小朋友们一直在研究一个问题—— 如何在一个长长的句子中找到最大的那个非负整数(不存在负数)。你很不幸的被他们拖住了,又很不幸的被他们叫去执行这个任务,你非常得不爽! 因为你觉得这么简单的问题简直侮辱了你的智商,所以你决定写一个程序来代劳。
输入格式:
输入有多组数据。每组输入一个句子(一定包含数字字符,可能包含空格),长度小于256,占一行
输出格式:
输出对应有多行,每行输出所找出的最大的那个非负整数
输入样例:
在这里给出一组输入。例如:
&&12345aBsdDkjie64skjd5lk
3*2&&0%%%00B58CD000000b
a000b0000000c000
输出样例:
在这里给出相应的输出。例如:
12345
58
0
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include <iostream>
#include <climits>
#include <string>
using namespace std;
int main() {
string s;
while(getline(cin,s)){ int ma=INT_MIN,sum=0;
for(int i=0;i<s.size();i++){
if(isdigit(s[i])) sum=sum*10+(s[i]-'0');
else ma=max(ma,sum),sum=0;//sum必须化为零
}
ma=max(ma,sum);
cout<<ma<<endl;
}
return 0;
}