标题:原来超级病毒的那个题没有那么难
只看楼主
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
结帖率:100%
已结贴  问题点数:20 回复次数:9 
原来超级病毒的那个题没有那么难
想了一个晚上终于把这个题目给做出来了,看上面介绍的挺复杂的,就快吓出一身汗了,
调试了一个晚上才发现原来没有那么夸张,思路顺了,就顺理成章了,呵呵;
这就是我的杰作了,
#include <stdio.h>
int main()
{
    char da[20]="AATTAATTAATTAA",xiao[10]="AATTAA";
    int i=0,j=1;
    char *zong=da,*fen=xiao;
    for(;*zong!='\0';j++)
    {
        fen=xiao;
        for(;*fen!='\0';)
            if(*fen==*zong)
            {
                fen++;
                zong++;
            }
            else break;
        if(*fen=='\0')
            i++;
        zong=da+j;
    }
    printf("%d",i);
    return 0;
}
师傅,朋友们,给做个点评吧;

[ 本帖最后由 小赵q1 于 2012-3-14 06:10 编辑 ]
搜索更多相关主题的帖子: 病毒 include 这就是我 
2012-03-14 04:11
C_596322153
Rank: 6Rank: 6
来 自:徽州
等 级:侠之大者
帖 子:182
专家分:466
注 册:2012-1-10
得分:3 
没看到题目  总算看懂了 求da[]里有多少个xiao[]     写的不错学习   加油  
2012-03-14 08:20
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:6 
额   你确实进步了很多      但是你的程序还是不能通过人家的测试 我把KMP算法的代码给你吧
程序代码:
#include <stdio.h>
#include <string.h>
char a[1000001] = {0};
char b[10001] = {0};
int main()
{
    int i,j,k;
    int m,n;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%s%s",b,a);
        int lena = strlen(a);
        int lenb = strlen(b);
        int next[20001] = {0,1};
        for(i = 2;i<=lenb;i++)
        {
            if(b[next[i-1]-1] == b[i-1])
                next[i] = next[i-1]+1;
            else
                next[i] = 1;
        }
        m = i = j = 0;
        while(i<lena)
        {
            if(-1 == j || a[i] == b[j])
            {
                i++;j++;                
            }
            else
                j = next[j]-1;
            if(j == lenb)
            {
                m++;
            }
        }
        printf("%d\n",m);
    }
    return 0;
}


[ 本帖最后由 laoyang103 于 2012-3-14 09:14 编辑 ]

                                         
===========深入<----------------->浅出============
2012-03-14 09:13
freefly123
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2012-3-14
得分:3 
拜读!
2012-03-14 09:15
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
得分:3 
顶顶丶

编程之路定要走完……
2012-03-14 18:01
纯情小郎君
Rank: 2
等 级:论坛游民
帖 子:84
专家分:80
注 册:2011-12-12
得分:3 
我是来看小赵哥的。。。

老师说,2B是通向梦想的第一步
2012-03-14 21:21
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
得分:0 
回复 3楼 laoyang103
细细的分析下师傅的程序,发现lena,lenb,next[20001]定义在那里编译错误,我只好把它放在了main()函数里面了,
运行通过,这是为什么呢?放在while()里面怎么就出错误呢?
具体的步骤我单步调试下,看看程序的运行方法。
2012-03-15 08:56
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
得分:0 
回复 6楼 纯情小郎君
谢谢,我也会经常去看你的。
2012-03-15 08:58
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:0 
回复 8楼 小赵q1
呵呵 你们认识?

                                         
===========深入<----------------->浅出============
2012-03-15 09:58
haizhizuan
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2012-3-15
得分:2 
这个本来就是这样的

http:// www.jcdf99 .com/武动乾坤 精彩东方文学
2012-03-15 17:31



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




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

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