跪求大佬
  • 板块题目总版
  • 楼主Qutiange
  • 当前回复5
  • 已保存回复5
  • 发布时间2020/7/20 22:53
  • 上次更新2023/11/6 22:43:20
查看原帖
跪求大佬
346670
Qutiange楼主2020/7/20 22:53
题目描述 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;
}

哪里错了?跪求大佬

2020/7/20 22:53
加载中...