时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze
题解
题目描述 Description
给出字符串a和字符串b,保证b是a的一个子串,请你输出b在a中第一次出现的位置。
输入描述 Input Description
仅一行包含两个字符串a和b
输出描述 Output Description
仅一行一个整数
样例输入 Sample Input
abcd bc
样例输出 Sample Output
2
数据范围及提示 Data Size & Hint
字符串的长度均不超过100
Pascal用户请注意:两个字符串之间可能包含多个空格
思路:直接枚举一番,因为给定样例大小不是很大。
代码:
#include<stdio.h>
#include<string.h>
int main(){
char a[10000],b[1000];//获取a b串
scanf("%s%s",a,b);
for(int i = 0;i<strlen(a);i++){//遍历a串
int t = 0;
for(int j = i;j<i+strlen(b);j++){//从a串指定位置向后遍历,和b串进行比较,只要法出现不符合便break
if(a[j]!=b[t++])break;
if(j==i+strlen(b)-1){//如果符合输出当前位置即可
printf("%d",i+1);
return 0;
}
}
}
return 0;
}