| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 1525 人关注过本帖
标题:字符查找;
取消只看楼主 加入收藏
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
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
快速回复:字符查找;
数据加载中...
 
   



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

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