XDOJ判断字符串子串

发布时间:2024年01月10日
/*问题描述
编写程序:判断一个不大于 20 个字符的字符串是否是另一个不大于 20 个字符的字符串的子
串,如果是,则输出子串在父串的起始位置, 如果不是子串,则输出 No!。
输入说明
输入分 2 行:
第一行为主字符串;
第二行为子字符串;
输出说明
是子串,输出输出子串在父串的起始位置。
不是子串, 输出 No!
测试样例:
输入样例 1:
I am a young girl.
young
输出样例 1:
8
输入样例 2
It is a big city.
it
输出样例 2
14
输入样例 3
Just do it.
thank
输出样例 3
No!
输入样例 4:
qwertyuiop
qwer
输出样例 4:
1
*/
#include <stdio.h>
#include <string.h>

int main()
{
    char fuchuan[20],zichuan[20];
    int lenf,lenz,change=0,i,j;

    gets(fuchuan);
    gets(zichuan);
    lenf=strlen(fuchuan);
    lenz=strlen(zichuan);

    for(i=0;i<lenf-lenz;i++)
    {
        change=0;                  //important
        for(j=0;j<lenz;j++)
        {
            if(fuchuan[i+j]!=zichuan[j])
            {
                change=-1;
                break;
            }
        }
        if(change==0)
        {
            printf("%d",i+1);
            change=1;
            break;
        }
    }
    if(change!=1)
        printf("No!");

    return 0;
}

文章来源:https://blog.csdn.net/2302_81063198/article/details/135480560
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。