找最长串存放在一个数组中,然后找最大值的数组输出即可
#include<iostream> #include<cstdio> #include<string.h> using namespace std; string str; int dp[105]; int main(){ while(cin>>str){ memset(dp,0,sizeof(dp)); int length=0,max=0; //处理数字字符串的大小 for(int i=0;str[i]!=0;){ if(str[i]>='0'&&str[i]<='9'){ int count=0; do{ count++; i++; }while(str[i]>='0'&&str[i]<='9'); if(count>max) max=count; dp[i-count]=count; }else{ i++; } } for(int i=0;str[i]!=0;i++){ if(dp[i]==max){ for(int j=i;j<i+max;j++){ cout<<str[j]; } } } cout<<","<<max<<endl; } return 0; }