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

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

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

#include<stdio.h>
#include<string.h>
#define N 200
int main(){
    char str[N];
    while(scanf("%s",str)!=EOF){
        int max=0,count=0;
        for(int i=0;i<strlen(str);i++)
        {
            if(str[i]>='0'&&str[i]<='9')
                count++;
            else
                count=0;
            if(max<count)
                max=count;//找到连续数字个数的最大值
        }
        for(int i=0;i<strlen(str);)
        {
            if(str[i]>='0'&&str[i]<='9')
            {
                int j=i+1;
                while(str[j]&&str[j]>='0'&&str[j]<='9')   j++;
                if(j-i==max)    //根据这个差值进行打印输出所有满足条件的连续数字
                    while(j!=i)
                        printf("%c",str[i++]);
                else 
                    i=j;
            }
            else
                i++;
        }
        printf(",%d\n",max);
    }
    return 0;
}
全部评论

相关推荐

头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
但听说转正率很低,我现在有在实习了,好纠结要不要去
熬夜脱发码农:转正率低归低,但是实习的经历你可以拿着,又不是说秋招不准备了
点赞 评论 收藏
分享
评论
10
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务