
只能使用c++相关内容,不能使用c语言,并不能太明白怎么实现这个程序,也不太懂第一个索引的含义
#include<iostream>
#include<cstring>
using namespace std;
int indexOf(char *s1, char *s2);
int main()
{
int size=999;
char s1[size],s2[size];
cout<<"Enter the first string : ";
cin.getline(s1,size);
cout<<"Enter the second string: ";
cin.getline(s2,size);
cout<<"indexOf(\""<<s1<<"\", \""<<s2<<"\") is "<<indexOf(s1,s2)<<endl;
return 0;
}
int indexOf(char *s1, char *s2)
{
int a,b,index,j,k;
a=strlen(s1);
b=strlen(s2);
bool s3[a];
for(int m=0;m<a;m++)
s3[m]=false;
for(int i=0;i<b-a+1;i++) //控制s2的首字母
{
for(j=0,k=i;(j<a)&&(k<i+a);j++,k++) //控制s2的总输出数
if(s1[j]==s2[k])
{
index=i;
s3[j]=true;
}
int h=0;
for(int n=0;n<a;n++)
{
if(s3[n]==false&&i==b-a)
{
return -1;break;
}
if(s3[n])
h++;
}
if(h==a)
{
return index;
}
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>>
https://vip.csdn.net/askvip?utm_source=1146287632