| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 870 人关注过本帖
标题:c++编程
只看楼主 加入收藏
hmrit
Rank: 1
等 级:新手上路
帖 子:26
专家分:4
注 册:2010-4-25
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:4 
c++编程
编写一个程序,求字符串s1中s2的位置,若s1包含s2返回s2在s1中第一次出现的位置,否则返回-1。
搜索更多相关主题的帖子: 字符串 
2010-04-29 16:48
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:4 
这是字符串比较,可能有不同的算法,最容易理解的是一个笨办法:
从s1第一个字开始与s2的第一个字符比较,若相同,则用S1的第二个字符与S2的第二个字符比较,相符则继续比较,否则,从S1的第二个字符开始与S1和第一个字符比较...

★★★★★为人民服务★★★★★
2010-04-30 07:04
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:6 
我写了一个请楼主多多指教。输出结果是如果找到就输出第一次出现的位置,如果没找到就输出没有找到。
程序代码:

#include<stdio.h>
#include<string.h>

int main()
{
    char c[100];
    char c1[50];
    int n;
    printf("请输入母字符串:");
    gets(c);
    printf("请输入要检索的字符串:");
    gets(c1);
    n=strstr(c,c1)-c+1;
    if(strstr(c,c1)==NULL)
        printf("字符串%s在字符串%s中没有出现。\n",c1,c);
    else
        printf("字符串%s在字符串%s的第%d个位置出现。\n",c1,c,n);
    return 0;
}


南国利剑
2010-04-30 13:30
clcaogang
该用户已被删除
收藏
得分:5 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-30 14:21
hzyzxj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:168
注 册:2009-6-14
收藏
得分:5 
看数据结构。有个模式匹配算法,就是解决这个问题的。
严蔚敏的书上提供了俩个算法。都很经典啊。建议看看。
2010-05-01 08:34
快速回复:c++编程
数据加载中...
 
   



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

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