永发信息网

编写判断子串的自定义函数模块int substr(char *s1,char *s2),如果s1是s2的子串,

答案:1  悬赏:30  手机版
解决时间 2021-11-23 17:10
编写判断子串的自定义函数模块int substr(char *s1,char *s2),如果s1是s2的子串,
最佳答案
#include 

#include 

#include

int substr(char *s1,char *s2)

{

 int len1=strlen(s1);

 int len2=strlen(s2);

 int i,k,t=0;

 if(len1>len2)

  return 0;

 for(k=0;k
 {

  for(i=0;i
   if(s1[i]==s2[i])

    t++;

  if(t==len1)

   return 1;

  s2++;

 }

 return 0;

}

void main()

{

 char *str1=NULL,*str2=NULL;

 char y;

 do

 {

  str1 = (char *)calloc(50, sizeof(char));

  str2 = (char *)calloc(50, sizeof(char));

  cout<<"请输入两个字符串:"<
 

  cin>>str1;

  cin>>str2;

  if(substr(str1,str2)==1)

   cout<
  else 

   cout<
  cout<<"如需继续判断请按Y或者y:";

  cin>>y;

  free(str1);

  free(str2);

 }while(y=='Y'||y=='y');

}
时间复杂度不是最优化的,我记得数据库里有经典的KMP算法。你可以参考。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
南京火车站到汉中门怎么走
百分比怎么计算的 比如39元减百分10多少
山水GS-6000(81D)5.1音响谁有遥控器
形容相伴的句子有哪些?
文明4的自定义游戏如何自己设置难度呢?
平时穿 aj6 38号正好 ,aj14 37.5正好,现在
彪哥大舞台地址有知道的么?有点事想过去!
口袋妖怪火红快泳蛙是从陆地上得到还是从水里
DOCG是哪个国家什么等级?
2层交换和3层交换机哪个可以接电脑直接上网?
《王者荣耀》S12白起如何出装 S12白起出装推
为什么一闭眼就会浮现他的影子 我快疯了!
潮仁坊—单枞茶庄园区店地址有知道的么?有点
神韵雅舍地址在什么地方,想过去办事,
烫过的头发洗完后睡一觉变形了怎么办
推荐资讯
我的百度HI登录不了,总是说暂时登陆受限,是
阅读材料并结合相关知识,回答问题。(13分)
昆明到曼谷有多远
消防报警系统中输出模块端子上的字母D,Z,A,G
需要·本人签名才行是吗?
html中滚动条怎么设置
中国传统信仰
appium框架从哪个目录写代码
漳州刻假章怎么做
二十八岁的儿子爱撒谎怎么办?他不管父母的感
盗墓挖来的玉石能戴么
魔兽世界7.1怎么上苏拉玛二楼
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?