CCF认证 201409-3:字符串匹配(C++)

在这里插入图片描述

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector> 
using namespace std;
const int N=1000;
int fun(string a,string s,int n){
	int i=0,j=0;
	while(a[i]!='\0'){
		if(n==0){
			if(a[i]==s[j]+32||a[i]==s[j]-32||a[i]==s[j]){
				i++;j++;
			}else{
				i++;j=0;
				continue;
			}
		}else{
			if(a[i]==s[j]){
				i++;j++;
			}else{
				i++;j=0;
				continue;
			}
		}
		if(j==s.length()){
			return 1;
		}
	}
	return 0;
}
int main(){
    string s;
	int flag,n,i;
	string a[N]; 
	cin>>s;
	cin>>flag>>n;
	for(i=0;i<n;i++){
		cin>>a[i];
		if(fun(a[i],s,flag)==1){
			cout<<a[i]<<endl;
		}
	}
    return 0;
}
发布了85 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44652687/article/details/105121655