标题:出个题目,顺便散分!
只看楼主
qq383264679
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:155
专家分:130
注 册:2012-1-19
结帖率:88.89%
已结贴  问题点数:100 回复次数:27 
出个题目,顺便散分!
Dream are like classics,never fading but growing more precious with time going by,
    还是觉得c语言论坛给我的感觉比任何一个论坛要温馨。
    刚看了自己足足都三页多的参与主题的信息,让我感触了许多,每一个帖子都有一些志同道合者的回答,虽然现在看了刚开始学c时提问时候自己的帖子,我想到:当时怎么会提那么幼稚的问题的!
    这里很温馨是因为有实力雄厚的版主,这里有一些同在路上的朋友,希望所有还在奋斗中的人:更能很好的学到c语言的内涵,这样无论是对你自己以后深入学习c语言还是学习其他的语言或者技术,都会起到一个事半功倍的效果。
    (不知道在这里发这些感言,版主会不会介意,还是出个常见的题目:判断一个子字符串在某个给定的字符串中出现的次数。(大小写忽视))
例如:
子串:as   给定串:asadsfsrerAs   则次数为2.
搜索更多相关主题的帖子: c语言论坛 precious growing Dream 
2012-12-22 23:45
hit小龙
Rank: 6Rank: 6
等 级:侠之大者
帖 子:173
专家分:462
注 册:2012-12-6
得分:10 
沙发哇
2012-12-22 23:52
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
得分:10 
qq在qqq中出现了一次还是两次?
2012-12-22 23:55
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
得分:10 
这么积极向上帖顶一个

www.qunxingw.wang
2012-12-22 23:56
qq383264679
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:155
专家分:130
注 册:2012-1-19
得分:0 
回复 3楼 czz5242199
算 2次!
 这个算是串的匹配模式的题目。
2012-12-23 00:05
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
得分:10 
理解失误
这个算法是算a,d,a,s这样的次序出现的次数
如adas
  adbbas    出现一次
如as
  adsads    出现两次

#include<stdio.h>
int str_str(char *p,char *pp)
{
    int i,j,count=0;
    char *q=p;
    while(*pp!='\0')
        if(*q==*pp++)
            if(*(++q)=='\0')   
            {
                count++;
                q=p;
            }
    return count;
}
int main()
{
    char *p="as";
    char *pp="asadsfsrAs";
    printf("%d\n",str_str(p,pp));
    return 0;
}


[ 本帖最后由 小小战士 于 2012-12-23 01:13 编辑 ]

小小战士,战士中的战斗机!
2012-12-23 00:27
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
得分:10 
回复 6楼 小小战士
试一下我上面提供的那个例子就不对了
2012-12-23 00:31
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
得分:0 
昂,没看清题,我实现的是有as这样的次序有几次的,呵呵,修改

小小战士,战士中的战斗机!
2012-12-23 00:39
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
得分:0 
回复 8楼 小小战士
你的算法漏洞很多,比如算下这个

adas
adbbas
2012-12-23 00:47
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
得分:0 
#include<stdio.h>
int str_str(char *p1,char *p2)
{
    int count=0;
    char *q1=p1,*q2=p2;
    while(*q2!='\0')
    {
        if(*q1==*q2||*q1==*q2+32||*q1==*q2-32)
        {
            q1++;q2++;
            if(*q1=='\0')
            {
                q1=p1;
                count++;
            }
        }
        else
        {   
            q1=p1;
            q2++;
        }
    }
    return count;
}
int main()
{
    char *p="asD";
    char *pp="asdadsfsrerAsD";
    printf("%d\n",str_str(p,pp));
    return 0;
}


[ 本帖最后由 小小战士 于 2012-12-23 01:21 编辑 ]

小小战士,战士中的战斗机!
2012-12-23 01:07



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




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

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