题目描述 Description
给出一个字符串,仅由字母(大写或小写)和数字组成。试找出并输出其中最大的一个数字。
输入描述 Input Description
一个字符串
输出描述 Output Description
这个字符串中最大的数字
样例输入 Sample Input
abc123d123456789012345678901f
样例输出 Sample Output
123456789012345678901
数据范围及提示 Data Size & Hint
字符串中的数字范围可能会超过long long
#include<iostream>
#include<string>
using namespace std;
int start,end,maxn;
int StringtoNum(string x){
int sum=0;
for(int i=0;i<x.size();i++){
sum=sum*10+(x[i]-'0');
}
return sum;
}
int main(){
string s;
cin>>s;
for(int i=1;i<s.size()-1;i++){
if(s[i]>='0'&&s[i]<='9'&&(s[i-1]>='A'&&s[i-1]<='Z'||s[i-1]>='a'&&s[i-1]<='z'))
start=i;
if(s[i]>='0'&&s[i]<='9'&&(s[i+1]>='A'&&s[i+1]<='Z'||s[i+1]>='a'&&s[i+1]<='z')){
end=i;
string t=s.substr(start,end-start+1);
int x=StringtoNum(t);
maxn=max(maxn,x);
}
}
cout<<maxn;
return 0;
}
哪里错了?跪求大佬