DATE 7

题目:输入父串子串,显示父串中子串的个数

#include <stdio.h>

#include <string.h>


#define MAX 100


int main()
{


char src[MAX]; //定义父串数组的名字src
char sub[MAX]; //定义子串数组的名字sub


int i;
int j; //定义循环变量
int count = 0; //变量初始化
int src_len = 0;
int sub_len = 0; //定义数组的长度并初始化




printf("Please input fatherstring:\n"); //显示提示信息
scanf("%s",src); //输入父串


printf("Please input sonstring:\n"); //显示提示信息
scanf("%s",sub); //输入子串


printf("fatherstring = %s\n",src);
printf("sonstring = %s\n",sub); //显示输入的值是否对应正确


src_len = strlen(src);
sub_len = strlen(sub); //用函数表示父串子串的长度


for(i = 0;i < src_len;i++) //外层循环,遍历父串的所有内容
{


for(j = 0;j < sub_len;j++) //内层循环,遍历子串的所有内容
{


if(src[i + j] != sub[j]) //选择条件,对应相等则继续检测
{
i = j + i - 1;
j = 0;
}
else
{


continue; //否则,跳出循环
}
}
if(j == sub_len) //如果遍历子串所有内容,父串从(i - 1) + sub_len重新判断
{


i = (i - 1) + sub_len;
count ++; //此时计数自增
}
}


printf("count = %d\n",count); //显示计数,子串在父串中出现的次数


return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值