1、注意要保存原来的字符串str
2、用getline(cin,S);来输入string字符串S
3、注意用getchar来吸收换行符
4、一些库函数注意include<ctype.h>
isdigit(i)判断是否是十进制数字
isalpha(i)判断是否是字母
isalnum(i)判断是否是字母或者数字
toupper(i),将i变成大写字母
tolower(i),将i变成小写字母

#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <cstring>
#include <map> 
#include <vector>
#include<string>
using namespace std;
string str;
string S;
string temp;
string func(string S)//功能:将字符串S都变成大写
{
	for (int i = 0; i < S.length(); i++)
	{
		S[i] = toupper(S[i]);
	}
	return S;
}
int main()
{
	getline(cin,S);
	int flag;
	int n;
	scanf("%d",&flag);
	scanf("%d",&n);
	getchar();//注意吸收换行符
	if (flag == 1)//表示大小写敏感
	{
		for (int i = 0; i < n; i++)
		{			
			str.clear();
			getline(cin, str);
			if (str.find(S) != -1)//说明找到了子字符串
				cout << str<<endl;
		}
	}
	else//表示大小写不敏感
	{
		//将S都变成大写
		S = func(S);
		for (int i = 0; i < n; i++)
		{			
			str.clear();
			getline(cin, str);
			temp = func(str);
			if (temp.find(S) != -1)//说明找到了子字符串
				cout << str << endl;
		}

	}
}

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐