| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 762 人关注过本帖
标题:一直答案错误,求解答啊
只看楼主 加入收藏
b465513006
Rank: 2
等 级:论坛游民
威 望:1
帖 子:70
专家分:48
注 册:2011-3-18
结帖率:73.33%
收藏
已结贴  问题点数:20 回复次数:14 
一直答案错误,求解答啊
农大acm1029的题目,答案和测试数据一模一样,但是评测就是答案错误,谁能帮我看看是哪里错了啊
#include<stdio.h>
#include<string.h>
int main()
{
    int t1 , t2 ;
    char str[501] , sub[501] ;
    int i=0 ,t , j=0 ,l , l1 , k ;
    gets(str);
    gets(sub);
    l=strlen(sub) ;
    l1=strlen(str) ;
    if(l!=l1)
    {
        i=0 ;
        while(str[i]>0)
        {
            t=i ;
            j=0 ;
            while(str[t]==sub[j] )
            {
                t++ ;
                j++ ;
            }
            t2=t ;
            if(t-i>=l)   
            {
                for(k=i ; k<l1 ; k++)
                {
                    str[k]=str[t2++] ;
                }
                i=0 ;
            }
            else
                i++ ; ;
        }
        printf("%s",str) ;
    }
    return 0 ;
}
搜索更多相关主题的帖子: 测试 include 
2011-08-04 17:44
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:2 
请给个链接,或把题目发出来
2011-08-04 17:46
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:2 
农大OJ外网现在能上么,求链接啊
2011-08-04 18:13
b465513006
Rank: 2
等 级:论坛游民
威 望:1
帖 子:70
专家分:48
注 册:2011-3-18
收藏
得分:0 
http://acm.fafu. 这是题目的链接
2011-08-04 18:50
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
楼主的错误真的是蛮多的~~ 而且,写的挺麻烦的
下面的代码是在你的基础上稍微修改,可能还有别的错误,楼主先看看吧~
程序代码:
#include<stdio.h>
#include<string.h>
int main()
{
    int t1 , t2 ;
    char str[501] = {0}, sub[501] = {0};    // 最好利用初始化全部清零
    int i=0 ,t , j=0 ,l , l1 , k ;
    gets(str);
    gets(sub);
    l=strlen(sub) ;
    l1=strlen(str) ;
    if(l1 >= l)    // 楼主以前那样写, str 与 sub 相同时就会出错
    {
        i=0 ;
        while(str[i]>0)
        {
            t=i ;
            j=0 ;
            while(str[t]==sub[j] && j < l)    // 这里一定要注意 j < l。不然可能会有不好的事发生~
            {
                t++ ;
                j++ ;
            }
            t2=t ;
            if(t-i==l)    // 匹配到子串时必然 t - i == l
            {
                for(k=i ; k<= l1 - l; k++)    // 注意 k 的范围,避免下标越界
                {
                    str[k]=str[t2++] ;
                }
                i=0 ;
            }
            else
                i++ ;
        }
    }
    printf("%s\n", str);
    return 0 ;
}


又修改了下

[ 本帖最后由 voidx 于 2011-8-4 19:59 编辑 ]
2011-08-04 19:52
qazujm1212
Rank: 2
等 级:论坛游民
帖 子:24
专家分:24
注 册:2011-3-23
收藏
得分:2 
回复 楼主 b465513006
#include <stdio.h>
#include <string.h>
int main()
{
    char a[1000],b[1000];
    int m,n,i,j=0,k,h=0,s=0;
    bool x;
    gets(a);
    gets(b);
    m=strlen(a);
    n=strlen(b);
    do
    {
        x=false;
        for (i=0;i<m;)
            {
                k=i;
                while(a[i]==b[s])
                {
                    j++;
                    i++;
                    s++;
                }
                if (j>=n)
                {
                    for (i=k;i<m;i++)
                        a[i]=a[i+n];
                    i=k;
                    x=true;
                    m-=n;
                }
                else
                {
                    i=k+1;
                }
                j=s=0;
            }
    }while (x);   
        
    for (i=0;i<m;i++)
    printf ("%c",a[i]);
    return 0;
   

}
2011-08-04 19:53
b465513006
Rank: 2
等 级:论坛游民
威 望:1
帖 子:70
专家分:48
注 册:2011-3-18
收藏
得分:0 
回复 6楼 qazujm1212
。。。。。。。。。。。。。。。。。。。。。。。。。。。
2011-08-04 19:58
b465513006
Rank: 2
等 级:论坛游民
威 望:1
帖 子:70
专家分:48
注 册:2011-3-18
收藏
得分:0 
回复 5楼 voidx
过了,谢谢你啊
2011-08-04 20:20
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
回复 8楼 b465513006
我觉得你应该多试试自己调试,想一些特殊的情况,很容易就可以找到你这个代码的问题了~
2011-08-04 20:23
b465513006
Rank: 2
等 级:论坛游民
威 望:1
帖 子:70
专家分:48
注 册:2011-3-18
收藏
得分:0 
回复 9楼 voidx
我中午就是调试了很久的,还拿了测试数据,结果数据一模一样,不知为什么就是答案一直错,你说我这个比较麻烦,你能写个比较简单的发给我吗,我写得代码一直都不好,很麻烦
2011-08-04 20:49
快速回复:一直答案错误,求解答啊
数据加载中...
 
   



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

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