AOJ47字符串匹配

来源:互联网 发布:php搭建app服务器 编辑:程序博客网 时间:2024/05/18 13:06

Description
设计一个程序,从一个主字符串中查找一个子字符串在主串中第一次出现的位置。主串和子串的长度不超过100。如果找不到,则输出-1.

Input
第一行输入一个整数N,说明需要进行匹配的实例数。
第二行输入第一组需要进行匹配的主串
第三行输入第一组需要匹配的子字符串。
以下各行按照上面两行的格式输入,直到输入了N组匹配实例。

Output
输出N行,每行显示对应的匹配组中子串在主串中第一次出现的位置。

Sample Input
Original Transformed

3
abaaaaaa
a
bacdeagb
ac
aaaa
bb
3[EOL] abaaaaaa[EOL] a[EOL] bacdeagb[EOL] ac[EOL] aaaa[EOL] bb[EOL] [EOF]

Sample Output
Original Transformed

1
2
-1
代码:

#include<stdio.h>#include<string.h>int main(){int n,i,x,L1,L2;scanf("%d",&n);getchar();for(i=0;i<n;i++){    char str1[105]={0},str2[105]={0},str3[105]={0};    gets(str1);    gets(str2);    x=0;    L1=strlen(str1);    L2=strlen(str2);    while(1)    {        if(x==L1)        {            printf("-1\n");            break;                                                                                        }        if(str2[0]==str1[x])        {            strncpy(str3,&str1[x],L2);            if(strcmp(str2,str3)==0)            {                printf("%d\n",x+1);                break;            }            else            {                x++;            }        }        else            x++;    }}return 0;

}

0 0
原创粉丝点击