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;
}