标题:字符查找;
取消只看楼主
guoyangdnb
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-12-14
结帖率:100%
 问题点数:0 回复次数:1 
字符查找;
字符串匹配是计算机科学中最古老、研究最广泛的问题之一。它的应用包括生物信息学、信息检索、拼写检查、语言翻译、数据压缩、网络入侵检测。
输入一个主串str和一个要查找的子串substr,输出子串substr在主串str中首次出现的位置。例如主串str为:ababcabababab,子串为ababa,则子串在主串中首次出现的位置为5。

输入
       有两行。第1行为主串str,第2行为要查找的子串substr。主串长度不超过100,子串长度小于等于主串长度。

输出
       子串substr在主串str中首次出现的位置,如果没有出现,输出-1。

样例输入
Copy Sample Input
ababcabababab
ababa
样例输出
Copy Sample Output
5
搜索更多相关主题的帖子: 查找 出现 str 输出 子串 
2020-12-15 19:48
guoyangdnb
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-12-14
得分:0 
回复 2楼 rjsp
#include <stdio.h>
#include <string.h>
int main()
{
    char a[100],b[100];
    int i,j,k=0,flag=0,len,flag2=0;
    gets(a);
    gets(b);
    len=strlen(b);
    for(i=0;a[i]!='\0';i++)
    {
        if(a[i]==b[0])
        {
            for(j=i;a[j]!='\0';j++)
            {
               if(a[j]==b[k]&&b[k]!='\0')
               {
                   k++;
                   flag++;
                   if(flag==len) {printf("%d",k);flag2++;}
               }
               else break;
            }
        }
    }
    if(flag2==0) printf("-1");
    return 0;
}
这是我一开始写的;
2020-12-15 20:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-504269-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.326995 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved