1157: 连续的n个1 C语言

1157: 连续的n个1
时间限制: 1 Sec 内存限制: 128 MB
提交: 3936 解决: 2656
[状态] [讨论版] [提交] [命题人:admin]
题目描述
计算机数据都是由0和1组成的,看着长长的0101001110101111011,要找出连续n个1的子串有多少个,确实麻烦,请你编程实现吧。
输入
输入第一行为一个字符串,由0和1组成,长度小于1000;输入第二行为一个正整数n。
输出
输出一个整数,表示连续n个的1的子串的个数。
样例输入 Copy
0101001110101111011
2
样例输出 Copy
6

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


int main() {
    
    
	char str[1001];
	int n, len, i, j, t, sum = 0;
	// 输入字符串
	gets(str);
	// 输入n
	scanf("%d", &n);
	// 求字符串长度 
	len = strlen(str);
	
	// 求连续n个的1的个数 
	for(i = 0; i < len - n + 1; i++){
    
    
		t = 0;
		for(j = 0; j < n; j++){
    
    
			if(str[i + j] != '1')
				t = t;
			else
				t++;
			if(t == n){
    
    
				sum++;
			}
		}
	}
	printf("%d", sum);
	return 0;
}

おすすめ

転載: blog.csdn.net/m0_45306379/article/details/121767784