题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
#include<stdio.h>
int main(void)
{
char a[200];
char b[200];
int len;
scanf("%[^\n]",&a);
len=strlen(a);
int i=0;
int j=0;
int max=0;
int count=0;
for(i=0;i<len;i++)
{
if(a[i]>='0'&&a[i]<='9')
{
count++;
}
else
{
count=0;
}
if(max<count)
{
max=count;
}
}
for(i=0;i<len;i++)
{
if(a[i]>='0'&&a[i]<='9')
{
j=i+1;
while(a[j]>='0'&&a[j]<='9')
{
j++;
}
}
if(j-i==max)
{
for(int k=i;k<j;k++)
{
printf("%c",a[k]);
}
}
}
printf(",%d",max);
return 0;
}
int main(void)
{
char a[200];
char b[200];
int len;
scanf("%[^\n]",&a);
len=strlen(a);
int i=0;
int j=0;
int max=0;
int count=0;
for(i=0;i<len;i++)
{
if(a[i]>='0'&&a[i]<='9')
{
count++;
}
else
{
count=0;
}
if(max<count)
{
max=count;
}
}
for(i=0;i<len;i++)
{
if(a[i]>='0'&&a[i]<='9')
{
j=i+1;
while(a[j]>='0'&&a[j]<='9')
{
j++;
}
}
if(j-i==max)
{
for(int k=i;k<j;k++)
{
printf("%c",a[k]);
}
}
}
printf(",%d",max);
return 0;
}