标题:新手第一次做ACM exercise 出现wrong answer求教
只看楼主
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
好人做到底,你不喜欢用现成的strstr,那就自己写一个。你自己检查一下
程序代码:
#include <stdio.h>
#include <string.h>

int mystrstr( const char* str, const char* sub )
{
    const char *p1, *p2, *p3;
    for( p1=str; *p1; ++p1 )
    {
        for( p2=p1,p3=sub; *p3 && *p2==*p3; ++p2,++p3 );
        if( !*p3 )
            return (int)(p1-str)+1;
    }
    return -1;
}

int main()
{
    char str[101], sub[101];
    int n, i;
    scanf("%d",&n);
    getchar();
    for(i=0; i<n; ++i)
    {
        gets( str );
        gets( sub );
        printf( "%d\n", mystrstr(str,sub) );
    }

    return 0;
}

2013-01-30 13:41
tyf19938
Rank: 2
等 级:论坛游民
帖 子:47
专家分:24
注 册:2013-1-6
得分:0 
程序代码:
#include <stdio.h>
#include <string.h>
int main()
{
    char str[101], sub[101];
    int n, i;
    char *p;
    scanf("%d",&n);
    getchar();
    for(i=0; i<n; ++i)
    {
        gets( str );
        gets( sub );
        p = strstr( str, sub );
        printf( "%d\n", p ? (int)(p-str)+1 : -1 );
    }
    return 0;
}
Accepted
2013-01-30 14:48



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




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

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