【字符串】隐藏的最大整数

描述

今天是个好日子,整数小伙伴们又一起出来聚会了。大家商议决定:今天玩捉迷藏!玩法很简单,就是从所有人中找出一部分藏在一个长长的字符串中(任何两个人都不会并排藏在一起),而且,因为伙伴们太多,只找到此次藏起来的最大的那个伙伴就可以了。并且,大家一致同意,让“1”做第一个找人的人――当然,事先,他并不知道到底有哪些伙伴藏起来了…… 游戏开始了。“1”是一个很聪明的人,很快,他就把最大的那个伙伴找出来了…… 如果你是“1”,你能写个程序来解决这件事情么?

输入

输入只有一个字符串(不超过1000个字符),这里面藏有很多的整数小伙伴。

输出

输出只有一个整数,表示藏在其中的最大的那个整数小伙伴的位置(整数第一个数字在原串中的位置)。 已知,所有的小伙伴都不会超过2000000000。

样例输入

((-a32AB342+//32143abAA

样例输出

17

提示

这个串中共藏有32、342和32143三个小伙伴,其中32143是最大的,它在原来的串中的位置是17。

代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
int maxi=-2000000001;
//cout<<maxi<<endl;
cin>>s;
s+=’’;
int l=s.length();
bool f=1;
int now,w,maxw;
int fs=1;
for (int i=0;i<l;i++)
{
if (f) now=0;
if (s[i]>=‘0’&&s[i]<=‘9’)
{
if (f)
{
w=i+1;
//if (s[i-1]==’-’) fs=-1;
//else fs=1;
}
f=0;
now=fs
now*10+s[i]-‘0’;
}
else
{
f=1;
if(now>maxi)
{
maxi=now;
maxw=w;
}
}
}
cout<<maxw<<endl;
return 0;
}

分析:考虑了很多种情况,因为输出变量有误WA了3次,题目说整数,但貌似没考虑负数和首位为0的情况。

发布了40 篇原创文章 · 获赞 0 · 访问量 696

猜你喜欢

转载自blog.csdn.net/Skynamer/article/details/102980131
今日推荐