编一个程序,输入两个字符串str1和str2,计算str2在str1中出现的位置,输出位置结果

 我来答
帐号已注销
2019-07-10 · TA获得超过1.2万个赞
知道答主
回答量:25
采纳率:0%
帮助的人:6026
展开全部

以python语言为例,示例代码如下

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# 编一个程序,输入两个字符串str1和str2,计算str2在str1中出现的位置,输出位置结果

str1 = raw_input()

str2 = raw_input()

if str2 in str1:

print len(str1.split(str2)[0]) + 1

运行程序,分别输入 strastrb,strb,则输出结果为5。表示strb是从strastrb的第5个索引位置的。

扩展资料

python raw_input() 函数介绍:

raw_input()用来获取控制台的输入,将所有输入作为字符串看待,返回字符串类型。注意:

input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个语法错误。

实例:

>>>a = raw_input("input:")

input:123

>>> type(a)

<type 'str'>              # 字符串

>>> a = raw_input("input:")

input:runoob

>>> type(a)

<type 'str'>              # 字符串

刺友互
高粉答主

2019-07-10 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:71.5万
展开全部

1、【substring(string, start, length)】截取指定长度的字符。

2、【len(string)】函数介绍。

3、【substring(string, start, length)】截取掉首字符,返回其余字符换。

4、【substring(string, start, length)】截取掉最后一个字符,返回其余字符换。

5、【left(string, length)】截取左边开始个数的字符。

6、【right(string, length)】截取右边开始个数的字符。

7、【replace(str1, str2, str3)】替换字符串中指定字符。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-11-16
展开全部
#include<stdio.h>
int instr(char *dst, char *src)
{
   int n = 0;
   char *pc1,*pc2,*pt;
   pc1=dst;
   if(!*src) return 0;
   while(*pc1)
   {
      pc2 = src; 
      while(*pc2 && (*pc2 != *pc1))
      {  n++; if(!*++pc1) return -1;}
      pt = pc1;
      while(*pc2 && *pc2 == *pc1)
      {  pc1++; pc2++;   }
      if( !*pc2 )
        return pt-dst;
      pc1 = pt +1;
   }
   return -1;
}
main()
{
   char str1[1000],str2[1000];
   int ind;
   while(scanf("%s %s",str1,str2)==2)
   {
      ind=instr(str1,str2);
      printf((ind==-1)?"Not Found\n":"Found at %d\n",ind);
   }
}

instr函数,未找到返回-1,找到返回找到的位置

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
My_Persistence
2016-11-16 · TA获得超过3467个赞
知道大有可为答主
回答量:1201
采纳率:81%
帮助的人:429万
展开全部
#include <stdio.h>
#include <string.h>
#define N 256

int findSubstring(char *s,char *t)
{
int i,j,len;
i=j=0;
len=strlen(t);
while(s[i] && t[j])
    {
        if(s[i] == t[j])
        {
            i++;
            j++;
        }
        else
        {
            j=0;
            i++;
        }
    }
    if(j == len)
        return i-len;
    else
        return 0;
}
int main()
{
char str1[N];
char str2[N];
int index;
printf("输入字符串str1: ");
scanf("%s",str1);
printf("输入字符串str2: ");
scanf("%s",str2);
index=findSubstring(str1,str2);
if(index == 0)
printf("字符串匹配失败!\n");
else
printf("字符串str2在str1中出现的位置为:%d",index);  //输出的是下标的位置
return 0;
}

示例运行结果:

输入字符串str1: abcdefghijk

输入字符串str2: defg

字符串str2在str1中出现的位置为:3    //刚好是str1的下标位置

输入字符串str1: abcdefghijk

输入字符串str2: defh

字符串匹配失败!

更多追问追答
追问
strlen(t)是什么意思?
追答
求字符串的长度的库函数,在头文件中的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式