输入一个长字符串和一个短字符串,判断长字符串中是否含有短字符串
#include
main()
{
char l[100],s[100];
int i,k=0,j=0,ssum=0,sum=0;
printf("请输入一个长的字符串");
gets(l);
fflush(stdin);
printf("请输入一个短的字符串");
fflush(stdin);
gets(s);
for(i=0;;i++)
{
if(s[i]=='\0')
break;
ssum++;
}
for(j=0;;j++)
{
if(l[j]=='\0')
{
break;
}
if(sum==ssum)
{
break;
}
if(l[j]==s[k])
{
sum++;
k++;
continue;
}
else
{
if(k==0 || j==0)
{
continue;
}
k=0;
j-=1;
sum=0;
continue;
}
}
if(sum==ssum)
printf("包含");
else
printf("不包含");
}
这个比较难
第一次:没写完的,就修改了
这个不能完成循环,只是露出了一点思路,但是没表达出来
判断字符串到末尾应该是\0也用错了
#include
main()
{
char l[100],s[100];
int i,j=0,ssum=0,sum=0;
printf("请输入一个长的字符串");
gets(l);
printf("请输入一个短的字符串");
gets(s);
for(i=0;;i++)
{
if(s[i]=='\n');
break;
ssum++;
}
for(i=0;;i++)
{
if(l[i]=='\n');
break;
if(l[i]==s[j] && l[i+1]==s[j+1])
sum++;
else(l[i]==s[j] && l[i+1]!=s[j+1])
sum=0;
}
}
第二次
#include
main()
{
char l[100],s[100];
int i,j=0,ssum=0,sum=0;
printf("请输入一个长的字符串\n");
gets(l);
printf("请输入一个短的字符串\n");
gets(s);
for(i=0;;i++)
{
if(s[i]=='\n');
break;
ssum++;
}
for(i=0;;i++)
{
if(l[i]=='\n');
break;
if(l[i]==s[j])
sum++;
else
sum=0;
if(sum==ssum)
break;
}
if(sum==ssum)
printf("包含");
}
第三次
#include
main()
{
char l[100],s[100];
int i,j=0,ssum=0,sum=0;
printf("请输入一个长的字符串\n");
gets(l);
printf("请输入一个短的字符串\n");
gets(s);
for(i=0;;i++)
{
if(s[i]=='\n');
break;
ssum++;
}
printf("%d\n",ssum);
for(i=0;;i+)
{
if(l[i]=='\n');
break;
if(l[i]==s[j])
sum++;
else
sum=0;
j++;
if(sum==ssum)
break;
}
printf("%d\n",sum);
printf("%d\n",ssum);
if(sum==ssum)
printf("包含");
}
第四次
#include
main()
{
char l[100],s[100];
int i,j=0,x=0,ssum=0,sum=0;
printf("请输入一个长的字符串");
gets(l);
fflush(stdin);
printf("请输入一个短的字符串");
fflush(stdin);
gets(s);
for(i=0;;i++)
{
if(s[i]=='\0')
break;
printf("%c",s[i]);
ssum++;
}
printf("%d\n",ssum);
for(j=0;;j+)
{
if(l[j]=='\0')
break;
if(l[j]==s[x])
sum++;
else
sum=0;
x++;
printf("%",l[j]);
if(sum==ssum)
break;
}
printf("%d\n",sum);
printf("%d\n",ssum);
if(sum==ssum)
printf("包含");
}
第五次
#include
main()
{
char l[100],s[100];
int i,j=0,x=0,ssum=0,sum=0;
printf("请输入一个长的字符串");
gets(l);
fflush(stdin);
printf("请输入一个短的字符串");
fflush(stdin);
gets(s);
for(i=0;;i++)
{
if(s[i]=='\0')
break;
printf("%c",s[i]);
ssum++;
}
printf("%d\n",ssum);
for(j=0;;j+)
{
if(l[j]=='\0'){
break;
}
if(sum==ssum){
break;
}
if(l[j]==s[x]){
sum++;
x++;
}
else{
sum=0;
x=0;
}
printf("%c",l[j]);
printf("%d",x);
//if(sum==ssum)
//break;
}
printf("%d\n",sum);
//printf("%d\n",ssum);
if(sum==ssum)
printf("包含");
else
printf("不包含");
}
第六次
#include
main()
{
char l[100],s[100];
int i,k=0,j=0,x=0,ssum=0,sum=0;
printf("请输入一个长的字符串");
gets(l);
fflush(stdin);
printf("请输入一个短的字符串");
fflush(stdin);
gets(s);
for(i=0;;i++)
{
if(s[i]=='\0')
break;
//printf("%c",s[i]);
ssum++;
}
printf("%d\n",ssum);
for(j=0;;j+)
{
if(l[j]=='\0')
{
break;
}
if(sum==ssum)
{
break;
}
for(x=0;l[j]==s[k];x++)
{
sum++;
k++;
break;
if(sum==ssum)
{
break;
}
}
x=0;
j-=1;
continue;
}
printf("%c",l[j]);
printf("%d",x);
//if(sum==ssum)
//break;
printf("%d\n",sum);
//printf("%d\n",ssum);
if(sum==ssum)
printf("包含");
else
printf("不包含");
}
#include
main()
{
char l[100],s[100];
int i,k=0,j=0,ssum=0,sum=0;
printf("请输入一个长的字符串");
gets(l);
fflush(stdin);
printf("请输入一个短的字符串");
fflush(stdin);
gets(s);
for(i=0;;i++)
{
if(s[i]=='\0')
break;
printf("%c",s[i]);
ssum++;
}
printf("%d\n",ssum);
for(j=0;;j+)
{
if(l[j]=='\0')
{
break;
}
if(sum==ssum)
{
break;
}
if(l[j]==s[k])
{
sum++;
k++;
continue;
}
else
{
if(==0)
{
continue;
}
k=0;
j-=1;
continue
}
}
printf("%d",j);
//if(sum==ssum)
printf("%d",k);
//break;
printf("%d\n",sum);
printf("%d\n",ssum);
if(sum==ssum)
printf("包含");
else
printf("不包含");
}
第七次
#include
main()
{
char l[100],s[100];
int i,k=0,j=0,ssum=0,sum=0;
printf("请输入一个长的字符串");
gets(l);
fflush(stdin);
printf("请输入一个短的字符串");
fflush(stdin);
gets(s);
for(i=0;;i++)
{
if(s[i]=='\0')
break;
printf("%c",s[i]);
ssum++;
}
printf("%d\n",ssum);
for(j=0;;j+)
{
if(l[j]=='\0')
{
break;
}
if(sum==ssum)
{
break;
}
if(l[j]==s[k])
{
sum++;
k++;
continue;
}
else
{
if(k==0 || j==0)
{
continue;
}
k=0;
j-=1;
continue;
}
}
printf("%d",j);
//if(sum==ssum)
printf("%d",k);
//break;
printf("%d\n",sum);
printf("%d\n",ssum);
if(sum==ssum)
printf("包含");
else
printf("不包含");
}
第八次
#include
main()
{
char l[100],s[100];
int i,k=0,j=0,ssum=0,sum=0;
printf("请输入一个长的字符串");
gets(l);
fflush(stdin);
printf("请输入一个短的字符串");
fflush(stdin);
gets(s);
for(i=0;;i++)
{
if(s[i]=='\0')
break;
printf("%c",s[i]);
ssum++;
}
printf("%d\n",ssum);
for(j=0;;j+)
{
if(l[j]=='\0')
{
break;
}
if(sum==ssum)
{
break;
}
if(l[j]==s[k])
{
sum++;
k++;
continue;
}
else
{
if(k==0 || j==0)
{
continue;
}
k=0;
j-=1;
sum=0;
continue;
}
}
printf("%d",j);
//if(sum==ssum)
printf("%d",k);
//break;
printf("%d\n",sum);
printf("%d\n",ssum);
if(sum==ssum)
printf("包含");
else
printf("不包含");
}