天天看點

輸入一個字元串,計算字元串中子串出現的次數

輸入一個字元串,計算字元串中子串出現的次數

一:給定字元串和子串:

字元串:“hellosdfdshellodsfdshello”

子串:“hello”

代碼如下:

#include <stdio.h>

#include <string.h>

int main()

{

    char * c = "hellosdfdshellodsfdshello";

    char * d = "hello";

    int n;

    int num = 0;

    n = strlen(d);

    while(strlen(c) > 0)

    {

        if(strncmp(c,d,n) == 0)

        {

            num++;

            c += n;

        }

        else

        {

            c++;

        }

    }

    printf("%d\n",num);

    return 0;

}

二:

字元串和子串為任意輸入

代碼如下:

#include <stdio.h>

#include <string.h>

int main()

{

    char a[100];

    printf("請輸入字元串\n");

    scanf("%s",a);

    char * c = a;

    char b[10];

    printf("請輸入子串\n");

    scanf("%s",b);

    char * d = b;

    int n;

    int num = 0;

    n = strlen(d);

    while(strlen(c) > 0)

    {

        if(strncmp(c,d,n) == 0)

        {

            num++;

            c += n;

        }

        else

        {

            c++;

        }

    }

    printf("%d\n",num);

    return 0;

}