当前位置: 代码迷 >> 综合 >> ZZULIOJ--1157: 连续的n个1
  详细解决方案

ZZULIOJ--1157: 连续的n个1

热度:3   发布时间:2023-12-06 06:05:29.0

1157: 连续的n个1

时间限制: 1 Sec  内存限制: 128 MB
提交: 4375  解决: 2955
[状态] [讨论版] [提交] [命题人:admin]

题目描述

计算机数据都是由0和1组成的,看着长长的0101001110101111011,要找出连续n个1的子串有多少个,确实麻烦,请你编程实现吧。

输入

输入第一行为一个字符串,由0和1组成,长度小于1000;输入第二行为一个正整数n。

输出

输出一个整数,表示连续n个的1的子串的个数。

样例输入 Copy

0101001110101111011
2

样例输出 Copy

6

代码 

#include <stdio.h>
#include <limits.h>
#include <string.h>int main()
{int i,k=0,c=0, n;char s[1100];gets(s);//输入字符串,回车结束scanf("%d", &n);//几个一相连for(i=0;s[i]!='\0';i++){if(s[i]==s[i+1]&&s[i]=='1')//判断相连的是否为1k++;//当前相连一的个数elsek=0;//有不相连是重新计数if(k==n-1)//判断是否符合条件{c++;//符合条件的次数k=k-1;//符合时去掉第一个,判断加上后一个时是否还符合}}printf("%d\n",c);//输出符合个数return 0;
}