模式匹配
题目描述:
接收信号中包含特定的信号模式,对接收信号进行检测,以统计特定模式出现的次数。 例如接收信号为 9 3 5 7 5 8 6 3 5 7 1 9 3 5 7,如果特定信号为 3 5 7,则接收信号中包含了 3 个特定模式。通过键盘输入接收信号整数序列,输出其中包含的模式 3 5 7 的出现次数。
输入说明:
输入分三部分,第一部分是一个整数 n(0<n<30)指明接收信号长度;第 二部分是 n 个整数,整数之间以空格分隔,代表接收信号序列 x0、x1、......xn-1。
输出说明:
输出其中模式 3 5 7 出现的次数;
输入样例:
15
9 3 5 7 5 8 6 3 5 7 1 9 3 5 7
输出样例: 3
cpp
#include<stdio.h>
int main ()
{
int n;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
int count=0;
for(int i=0;i<n-2;i++){
if(a[i]==3){
if(a[i+1]==5){
if(a[i+2]==7){
count++;
}
}
}
}
printf("%d",count);
return 0;
}