輸入一個字元串,計算字元串中子串出現的次數
一:給定字元串和子串:
字元串:“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;
}