学校OJ求助。。。

qq_40928476 qq_40928476 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
题目在这:


Description





题目描述

给你两个字符串a和b,请问字符串a是否可以去掉若干个字符以后成为字符串b?。

输入

第一行是一个整数K,表示样例数。 以后每个样例占2行,分别为两个字符串a和b。字符串只有英文大写字母组成,长度不超过200。

输出

每行输出一个结果,如果包含,输出Yes,否则输出No。

样例输入
2 XATBBUXTUXATBBUUTX
样例输出
YesNo



代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
char a[202];
char b[202];
int n,i,j,l;
char c,d;
scanf("%d",&n);
for(i=0;i<n;i++)
{
int p=0;
int k=0;
for(j=0;;j++)
{
c=getchar();
a[j]=c;
if(c=='\n'&&j>0)
break;
}
for(j=0;;j++)
{
d=getchar();
b[j]=d;
if(d=='\n'&&j>0)
break;
}
for(j=0;j<strlen(b)-1;j++)
{
for(l=k;l<strlen(a)-1;l++)
{
if(b[j]==a[l])
{
p++;
k=l;
break;
}
}
}
if(p==strlen(b)-1)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
}
思路是按照顺序让数组a里的元素与数组b中的元素依次匹配,自己试了很多次都可以,但提交后却显示错误
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
qq_40928476
新手乐园 33,315 成员 41,769 内容