判断一个字符串是否为另一个字符串的字串

  1. 问题:给定两个字符串s和t,判断给定的字符串t是否为给定字符串s的字串。(相当于C++的string中find的低配版)
  • 输入说明:输入数据由两行组成,每行是A上的一个字符串,其中第一行代表s,第二行代表t.
  • 输出说明:如果t是s的子串,输出true,否则输出false.
  • 举例说明:
    abcd fg
    abc
    输出:true
    abc d
    cd
    输出:false
  1. C++实现
/**
C++的str实现  2020.06.13 
Author: 豆奶
**/
  
#include
#include 

using namespace std;

/**
功能:判断字符串t是否为字符串s的子串
输入:字符串s和t
输出:bool值
**/
bool check(string s, string t){
	int lent = t.size();
	int lens = s.size();
	int j=0;
	for(int i=0; i<lens; i++){
		if(s[i]==t[j]){
			j++;
			if(j==lent) return true;
		}
		else j=0;
	}
	return false;
}

int main(){
	string s,t;
	getline(cin, s, '\n');  // 函数getline需要包含头文件#include 
	getline(cin, t, '\n');  // 函数getline的第二个参数表示输入要赋值的变量,第三个参数表示输入的结束符(char)
	cout<<"t是否为s的字串: "<<check(s,t)<<endl;
	return 0;
}

你可能感兴趣的:(C++学习)