SCAU:1050 寻找字符串

本文介绍了一个编程题目,要求在给定的第一个字符串中找到第二个字符串首次出现的位置,使用C++实现了一个简单的遍历算法。

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

1050 寻找字符串

时间限制:1000MS  代码长度限制:10KB
提交次数:3136 通过次数:1836

题型: 编程题   语言: G++;GCC

Description

由键盘输入两个字符串(假设第一个字符串必包含第二个字符串,如第一个字符串为ABCDEF,第二个为CDE,
则CDE包含在ABCDEF中),现要求编程输出第二字符串在第一行字符串中出现的位置。
(如果第二个字符串在第一个字符串中出现多次,则以最前出现的为准)

输入样例

ABCDEFG
DE

输出样例

4

提示

因为DE在ABCDEFG中的第4个字符处出现
#include <stdio.h>
#include <stdlib.h>
#include <string.h>//用到了strlen所以不要忘记此指令

int main()
{
    int i,n,j;
    int k=0;//假设a中包含b字符
    char a[80],b[80];
    gets(a);
    gets(b);
    for(i=0;i<strlen(a);i++)//循环次数小于等于a的长度
    {
        if(a[i]==b[0])
        {
            k=0;//假设a中包含b字符
            for(n=i,j=0;j<strlen(b);n++,j++)//循环次数小于等于b的长度,注意这里前面后面是逗号
            {
                if(a[n]!=b[j])
                {
                    k=1;/*a中的此小段不包含b字符(比如a为ABCABCDE,b为ABCDE,那么前三个字符内就不包含b,前三个字符就是我说的此小段),然后会跳出,再次寻找*/
                    break;
                }
            }
            if(k==0)//即成功循环完b的长度的次数,说明a中包含b字符
            break;
        }

    }
    if(k==0)
    printf("%d\n",i+1);
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zero_019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值