本次实验取材于郭炜的《程序设计与算法》
判断子串是很多oj的题目,这种最基本的题目需要熟练背诵,方能体会到其中真其奥义,下面给出代码
例子:
//编写一个函数:
//int Strstr(char s1[],char s2[]);
//如果s2不是s1的字串,返回 -1
//如果s2是s1的子串,返回其在s1中第一次出现的位置
//空串是任何串的子串,且出现位置为0
代码
#include<iostream>
using namespace std;
int Strstr(char s1[],char s2[]){
if(s2[0]==0)
return 0;
for(int i=0;s1[i];++i){
int k=i,j=0;
for(;s2[j];++k,++j){
if(s1[k]!=s2[j])
break;
}
if(s2[j]==0)
return i;
}
return -1;
}
int main()
{
char str1[10]="hello";
char str2[10]="ell";
int a = Strstr(str1,str2);
cout << a;
}