输入两个字符串str1和str2,输出str2在str1中的所有位置,没有则输出no。 输入abcabcabc ab 输出 0 3 6
【问题描述】输入两个字符串str1和str2,输出str2在str1中的所有位置,没有则输出no。【输入形式】【输出形式】【样例输入】abcabcabcab【样例输出】0...
【问题描述】输入两个字符串str1和str2,输出str2在str1中的所有位置,没有则输出no。
【输入形式】
【输出形式】
【样例输入】abcabcabc
ab
【样例输出】0 3 6
【样例说明】
【评分标准】 展开
【输入形式】
【输出形式】
【样例输入】abcabcabc
ab
【样例输出】0 3 6
【样例说明】
【评分标准】 展开
展开全部
#include <stdio.h>
//从p1的第n个字符开始找p2,如果找到返回位置,如果没找到,返回-1
int findstr(int n,char *p1,char *p2){
int i,j;
for(i=n;p1[i];i++)
for(j=0;;j++){
if (p2[j]==0) return i;
if (p1[i+j]==0) return -1;
if (p1[i+j]!=p2[j]) break;
}
return -1;
}
int main(){
char str1[100];
char str2[100];
int i=0;
gets(str1);
gets(str2);
i=findstr(i,str1,str2);
if (i==-1) printf("no\n");
while(i>=0){
printf("%d ",i);
i=findstr(i+1,str1,str2);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询