您的位置:首页 > 编程语言 > C语言/C++

利用C语言实现:输入两个字符串,统计一个字符串在另一个字符串中出现的次数 。

2016-05-10 13:09 796 查看
输入两个字符串,统计一个字符串在另一个字符串中出现的次数
例如,asdfgasfgasf,as,则输出3编程环境为codeblocks,编译器是GUN-GCC,操作系统是win7-64位
分析:此代码主要运用了一个算法,是字符串匹配的朴素模式匹配算法。看懂算法之后再来读代码就没有什么压力了。
代码如下:
#include <stdio.h>#include <stdlib.h>int main(){    char S[100],T[20];    char ch1,ch2;    printf("请输入主字符串:\n");    ch1=getchar();    int i=0;    while(ch1!='\n')    {        S[i]=ch1;        i++;        ch1=getchar();    }     printf("请输入要筛选的字符串:\n");    ch2=getchar();    int j=0;    while(ch2!='\n')    {        T[j]=ch2;        j++;        ch2=getchar();    }     int m,n;//m为S的下标,n为T的下标    m=0;    n=0;    int num=0;//num用于记录选定单词出现的次数    while(m<=i&&n<=j)    {        if(S[m]==T
)        {            m++;            n++;        }        else        {            m=m-n+1;            n=0;        }        if(n==j)        {            num++;        }    }    if(m==i+1)        {            printf("出现的次数是%d",num);        }}来源:心倾城的网易博客
欢迎分享本文,转载请保留出处!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: