C语言 统计字串出现次数(数组or指针) 题目描述 计算字符串中子串出现的次数
题目描述计算字符串中子串出现的次数输入输入以空格相隔的两个字符串(字符数不大于20个),敲回车输出统计第一个字符串中第二个字符串出现的次数样例输入Goodooo样例输出4...
题目描述
计算字符串中子串出现的次数
输入
输入以空格相隔的两个字符串(字符数不大于20个),敲回车
输出
统计第一个字符串中第二个字符串出现的次数
样例输入
Goodoo o
样例输出
4 展开
计算字符串中子串出现的次数
输入
输入以空格相隔的两个字符串(字符数不大于20个),敲回车
输出
统计第一个字符串中第二个字符串出现的次数
样例输入
Goodoo o
样例输出
4 展开
1个回答
展开全部
//刚回答另外一个类似的问题,写的code
//根据题意修改了下,测试通过,如果有疑问,欢迎交流
#include<stdio.h>
int strCount(char * str, char * sFind){
int count = 0;
for(int i = 0; str[i]!='\0';i++){
int j = 0;
for(j = 0; str[i+j]!='\0'&&sFind[j]!='\0';j++){
if(str[i+j]!=sFind[j])
break;
}
if(sFind[j] == '\0')
count++;
}
return count;
}
int main(){
char a[1000];
char b[1000];
scanf("%s %s", a, b);
printf("%d\n", strCount(a, b));
return 0;
}
追问
有没有只用数组做的
追答
//只要把函数声明修改下就可以了
//数组名,本身就是指针
#include<stdio.h>
int strCount(char str[], char sFind[]){
int count = 0;
for(int i = 0; str[i]!='\0';i++){
int j = 0;
for(j = 0; str[i+j]!='\0'&&sFind[j]!='\0';j++){
if(str[i+j]!=sFind[j])
break;
}
if(sFind[j] == '\0')
count++;
}
return count;
}
int main(){
char a[1000];
char b[1000];
scanf("%s %s", a, b);
printf("%d\n", strCount(a, b));
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询