【PTA】7-3 查找字符串(C语言)

本文介绍了一种解决编程问题的方法,如何在一个给定的不包含空格的字符串s中查找另一个字符串t。通过C语言实现的示例代码展示了如何遍历并比较字符,输出查找结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

在一行上输入两个字符串s和英文字符串t,要求在s中查找t。其中,字符串s,t均不包含空格,且长度均小于80。

输入格式:

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入2个长度不超过80的字符串s和t(s和t都不包含空格)。

输出格式:

对于每组测试数据,若在s中找到t,则输出“Found!”,否则输出“not Found!”。引号不必输出。

输入样例:

2
dictionary lion
factory act

输出样例:

not Found!
Found!

解析:

代码如下(笔者提供一种思路,方法其实还有很多):

 1.

#include<stdio.h>

#include<string.h>

void main()

{

    int T, k, i, j, len1, len2, p;

    scanf("%d", &T);

    for (k = 1; k <= T; k++)//大循环,针对T次循环数据

    {

        char s[80], t[80];

        char str[80];

        scanf("%s%s",s,t);//不用gets因为本题字符串是以空格分隔的,而回车分隔的才需要用到gets

        len1 = strlen(s);

        len2 = strlen(t);

        j = 0;

        p=0;

        for (i = 0; i < len1; i++)

        {

            if (s[i] == t[0])//找到与t第一字母相同的i坐标

            {

                strcpy(str,s+i);//把i后面的字符串提出来

                str[len2]='\0';

                if (strcmp(str,t)==0)//判断是否相等

                 {

                  printf("Found!\n");

                  p++;

                 }

             }

        }

        if(p==0) printf("not Found!\n");

    }

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值