| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1170 人关注过本帖
标题:出个题目,顺便散分!
只看楼主 加入收藏
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
以下是引用czz5242199在2012-12-23 00:47:33的发言:

你的算法漏洞很多,比如算下这个

adas
adbbas

我的第一个算法不是算as这个词出现的次数,是算a,d,a,s这样的次序出现的次数
如adas
  adbbas    出现一次
如as
  adsads    出现两次

小小战士,战士中的战斗机!
2012-12-23 01:10
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
回复 11楼 小小战士
你看下题目啊
2012-12-23 01:15
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:10 
哦,都没睡嘛,我也来试试
程序代码:
#include <stdio.h>
#include <string.h>
int fun(char *a, char *b)
{
    char *p = a;
    int i = 0;
    while(p = strstr(p, b))
    {
        ++i;
        if (!++p)
            break;
    }
    return i;
}
int main()
{
    char *a = "asdfdfghfghdfdfdfjhjk";
    char *b = "dfdf";
    printf("%d\n", fun(a, b));
    return 0;
} 


[fly]存在即是合理[/fly]
2012-12-23 01:20
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
以下是引用czz5242199在2012-12-23 01:15:27的发言:

你看下题目啊

你是不是算as    asghAsAS  出现3次
          asd   aSddsfgdasdfgdsa  出现2次
也就是ad或AD或Ad或aD(不区分大小写)出现的次数?

我10楼的算法不对?


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

小小战士,战士中的战斗机!
2012-12-23 01:30
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
回复 14楼 小小战士
问题是你的算法不符合题意吧?
2012-12-23 01:38
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
以下是引用czz5242199在2012-12-23 01:38:53的发言:

问题是你的算法不符合题意吧?

判断一个子字符串在某个给定的字符串中出现的次数。(大小写忽视))
例如:
子串:as   给定串:asadsfsrerAs   则次数为2.

我10楼的算法不对?不会吧?
我的是
ad     adAfdaDDadsdf        3次
asd    sdfsDsdfASddAfASD    2次
asdf   asddfgfASdffdsa      1次


那你到底说说你这个题意是什么?我今晚还就渺茫了!你多具几个例子

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

小小战士,战士中的战斗机!
2012-12-23 01:42
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
忽略大小写。。。
程序代码:
#include <stdio.h>
#include <string.h>
int Judge(char a, char b)
{
    if ('a' <= a && a <= 'z')
        a -= 'a' - 'A';
    if ('a' <= b && b <= 'z')
        b -= 'a' - 'A';
    return (a == b);
}
char *Strstr(char *a, char *b)
{
    char *p;
    int i;
    for (p = a;*p;++p)
    {
        for (i = 0;b[i];++i)
        {
            if (*(p + i) == '\0')    break;
            if (!Judge(*(p + i), b[i]))
                break;
        }
        if (!b[i])    return p;
    }
    return p;
}
int fun(char *a, char *b)
{
    char *p = a;
    int i = 0;
    while(*(p = Strstr(p, b)) != '\0')
    {
        ++i;    ++p;
    }
    return i;
}
int main()
{
    char *a = "asadsfsrerAs";
    char *b = "as";
    printf("%d\n", fun(a, b));
    return 0;
} 


[ 本帖最后由 azzbcc 于 2012-12-23 02:10 编辑 ]


[fly]存在即是合理[/fly]
2012-12-23 02:03
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
回复 16楼 小小战士
你试一下我8L的那个例子
2012-12-23 02:38
blackbansy
Rank: 2
等 级:论坛游民
帖 子:18
专家分:14
注 册:2011-6-6
收藏
得分:0 
互相学习  字符串的原理跟一维数组差不多的。理清思维就好了

抽空开了个店铺,欢迎大家前往参观。店名: 衣省无忧
2012-12-23 07:05
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
以下是引用czz5242199在2012-12-23 02:38:00的发言:

你试一下我8L的那个例子

图片附件: 游客没有浏览图片的权限,请 登录注册

小小战士,战士中的战斗机!
2012-12-23 07:59
快速回复:出个题目,顺便散分!
数据加载中...
 
   



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

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