是初桐啊 2023-12-27 21:35 采纳率: 100%
浏览 6
已结题

求大家帮找问题:我这个判断子串有啥问题吗?输入两个字符串a b,判断字符串b是否是a的子串为啥一直显示答案错误

#include<stdio.h>
#include<string.h>
char a[11000],b[11000];
int main()
{

int t;
scanf("%d",&t);
while(t--)
{
    int x=0;
    scanf("%s",a);
    scanf("%s",b);
    for(int i=0;i<strlen(a);i++)
    {
        if(a[i]!=b[x])
        {
            x=0;
        }
        if(a[i]==b[x])
        {
            x++;
        }
        if(x==strlen(b))
        {
            break;
        }
    }
    if(x==strlen(b))
        printf("YES\n");
    else
        printf("NO\n");
}

return 0;

}

img

  • 写回答

2条回答 默认 最新

  • 柯本 2023-12-27 22:45
    关注

    你的算法有问题(字串查找有专门的算法)
    你的程序对
    aaaabc aabc
    会报No
    对测试平台,你可直接用strstr

    #include <stdio.h>
    #include <string.h>
    char a[11000], b[11000];
    int main()
    {
      int t;
      scanf("%d", &t);
      while (t--)
        {
          int x = 0;
          scanf("%s", a);
          scanf("%s", b);
          if (strstr(a, b))
            printf("YES\n");
          else
            printf("NO\n");
        }
      return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月5日
  • 已采纳回答 12月28日
  • 修改了问题 12月27日
  • 创建了问题 12月27日

悬赏问题

  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
  • ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
  • ¥15 io.jsonwebtoken.security.Keys
  • ¥15 急,ubuntu安装后no caching mode page found等
  • ¥15 联想交换机NE2580O/NE1064TO安装SONIC
  • ¥15 防火墙的混合模式配置