输入一个字符串,以#结尾,判断字符串中连续数字的长度,并输出这个数字字符串
例如:
输入:
dsfs1213456789fdsf234#
输出:
10
1213456789
代码:
#include <iostream>
#define maxSize 1000
using namespace std;
int main(){
char ch,b[maxSize];
int i=0,j=0,a[maxSize],max=0,N;//N记录最大长度数字串的最后一个位置
while((ch=getchar())!='#'){
if(ch>='0'&&ch<='9'){
i++;
b[j]=ch;
a[j++]=i;
}else{
i=0;
a[j++]=-1;
}
}
for(int k=0;k<j;k++){
if(a[k]!=-1){
if(a[k]>max){
max=a[k];
N=k;
}
}
}
cout<<endl<<"最大连续数字长度为:"<<max<<endl<<"序列为:"<<endl;
for(int k=N-max+1;k<=N;k++){
cout<<b[k];
}
}
测试: