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

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

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

#include <stdio.h>
#include <string.h>

//获取所有数字子串及其长度并存储

int main()
{
  char str[200];
  while (scanf("%s", str) != EOF)
  {
    int strlength = strlen(str);
    char subNumStr[200][200]={0};
    int len[200];
    int top = -1;

    int start = 0, end = 0;

    while (end < strlength)
    {
      while (str[start] < '0' || str[start] > '9')
      {
        start++;
        end++;
      }

      while (str[end] >= '0' && str[end] <= '9')
      {
        end++;
      }
      strncpy(subNumStr[++top], str + start, end - start);
      len[top] = end - start;
      start = end;


    }
    int max = 0;
    for (int i = 0; i <= top; i++)
      if (len[i] > max)
        max = len[i];
    
    for(int i=0;i<=top;i++){
      if(len[i]==max)
      printf("%s",subNumStr[i]);
    }
    printf(",%d\n",max);
  }

  return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
服从性笔试吗,发这么多笔,现在还在发。
蟑螂恶霸zZ:傻 x 公司,发两次笔试,两次部门匹配挂,
投递金山WPS等公司10个岗位 >
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务