题解 | #在字符串中找出连续最长的数字串#

在字符串中找出连续最长的数字串

https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec

#include <ctype.h>
#include <stdio.h>
#include <string.h>
typedef struct{
    int head_index;
    int count;
}a ;

int main() {
    char str[200];
    a cc[20];
    memset(str,0,sizeof(str));
    while(~scanf("%s",str))
    {
        int n = strlen(str);
        int i;
        int k = 0;
        int flag = 0;
        int max = 0;
        int count = 1;
        for(i=0;i<=n;i++)
        {
            if(isdigit(str[i]) && !flag)
            {
                flag = 1;
                cc[k].head_index = i;
            }
            else if(!isdigit(str[i]) && flag) 
            {
                flag = 0;
                max = max>count?max:count;
                cc[k].count =count;
                count = 1;
                k++;
            }
            else if(flag)
            {
                count++;
                
            }

        }

        for(i = 0;i<k;i++)
        {
            if(cc[i].count == max)
            {
                for(int j = cc[i].head_index; j < cc[i].head_index + max; j++)
                {
                    printf("%c",str[j]);
                }
                
            }
            
        }
        printf(",%d\n",max);




        memset(str,0,sizeof(str));
    }
}

全部评论

相关推荐

我见java多妩媚:大外包
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务