输入一个字符串,计算字符串中子串出现的次数

本文介绍了一个使用C语言编写的简单程序,该程序能够统计一个长字符串中特定子串出现的次数。通过输入长字符串及子串,程序将输出子串在长字符串中的出现频率。


#include <stdio.h>
#include <string.h>

int time(char *s1,char*s2);

int main()
{
        char str[256];
        char son[25];
        int t;

        printf("Please input a long strings:");
        scanf("%s",str);
        printf("Please input a son strings:");
        scanf("%s",son);

        t = time(str,son);
        printf("The son strings total show %d times in long strings.\n",t);

       return 0;
}

int time(char *s1,char*s2)
{
        char *p1 = s1,*p2 = s2;
        int count = 0,k,len;

        len = strlen(s2);

        while( (*p1) != '\0' )
        {
                k = 0;
        while( (*p1) == (*p2) && (*p2) != '\0' )           //查找字符串中的子串
        {
                       p1++;
                       p2++;
                       k++;
        }
                if( k == len )
                        count++;

                p2 = s2;
                p1++;

        }

        return count;
}

程序运行示例:

Please input a long strings:zxcvbnzxcvzxcvbnbvczxcvzxcvbn
Please input a son strings:zxc
The son strings total show 5 times in long strings.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值