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

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

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));
    }
}

全部评论

相关推荐

预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
点赞 评论 收藏
分享
11-04 14:10
东南大学 Java
_可乐多加冰_:去市公司包卖卡的
点赞 评论 收藏
分享
10-30 22:18
已编辑
毛坦厂中学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务