题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
#include <stdio.h>
#include <string.h>
int main()
{
char str[201];
while(scanf("%s",str)!=EOF)
{
int len=strlen(str);
int count =0,max=0;
char ans[200];
int flag=0,num=0,n=0;
for(int i=0;i<len;i++)
{
if(str[i]>='0'&&str[i]<='9')
{
if(flag==0)
{
num=i;
flag=1;
}
count+=1;
if(i==len-1);
else continue;
}
if(max==count)
{
for(int a=0;a<max;a++)
ans[n++]=str[num++];
}
else if(max<count)
{
max=count;
memset(ans,0,200);
for(n=0;n<max;n++)
ans[n]=str[num++];
}
count =0;
flag=0;
}
printf("%s,%d\n",ans,max);
}
}
#include <string.h>
int main()
{
char str[201];
while(scanf("%s",str)!=EOF)
{
int len=strlen(str);
int count =0,max=0;
char ans[200];
int flag=0,num=0,n=0;
for(int i=0;i<len;i++)
{
if(str[i]>='0'&&str[i]<='9')
{
if(flag==0)
{
num=i;
flag=1;
}
count+=1;
if(i==len-1);
else continue;
}
if(max==count)
{
for(int a=0;a<max;a++)
ans[n++]=str[num++];
}
else if(max<count)
{
max=count;
memset(ans,0,200);
for(n=0;n<max;n++)
ans[n]=str[num++];
}
count =0;
flag=0;
}
printf("%s,%d\n",ans,max);
}
}