c语言统计字符串中指定的单词个数

比如字符串:asgeageghelloaegegahellosdhelloagehello提取的单词为:hello输出结果为:3最好有代码注释在线等答案提供算法也行... 比如字符串:asgeage ghelloae gegahellosd hell oage hello
提取的单词为:hello
输出结果为:3
最好有代码注释 在线等答案
提供算法也行
展开
 我来答
ufish
2013-05-10 · TA获得超过821个赞
知道小有建树答主
回答量:463
采纳率:50%
帮助的人:235万
展开全部

给你个类似的。。。你小改下,就应该可以了。希望对你有帮助

/*编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。

例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,

子字符串为:as,则应输出6。

[程序分析]

由于小串中只有2个字符所以可用str[i]==sbustr[0]&&str[i+1]==substr[1]来判断小串是否与长串当前位置(str[i])相同(即出现一次)。

因而只要让长串当前位置逐一向后移即可(用for()循环来完成)

 */

//[源程序]

#include "stdio.h"

#include "string.h"

#include "conio.h"

int fun(char *str,char *substr)

{ int i,n=0,s=strlen(str);

for(i=0;i<s;i++)

if((str[i]==substr[0])&&(str[i+1]==substr[1]))

n++;

return n;

}

main()

{

char str[81],substr[3];

int n;

printf("输入的字符串:");

gets(str);

printf("子字符串:");

gets(substr);

puts (str);

puts(substr);

n=fun(str,substr);

printf("n=%d\n",n)

}

/*******************************************************************************************************/

按你的意思我改了下调用函数里的

int fun(char *str,char *substr)

{

int i,j,n=0,s=strlen(str),m=strlen(substr),pan=1;

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

for(i=0;i<s;i++)

{ pan=1;

for(j=0;j<m;j++)

if((str[i+j]!=substr[j]))//这是进行比较,不是跳出

  {pan=0;

  break;}

  if(pan)

n++;

 }

return n;

}

陪我越狱
2013-05-10 · 超过18用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:26.7万
展开全部
#include <stdio.h>
#include <string.h>
int search_string(char *target,char *search)
//target可以为"asgeage ghelloae gegahellosd hell oage hello"
//search可以为"hello"
{
bool judge = true;
int n = 0;
for(int i = 0; i < strlen(target); i++)
{
judge = true;
for(int j = 0; j < strlen(search); j++)
if(target[i+j] != search[j])
{
judge = false;
break;
}
if(judge)
n++;
}
return n;
}
void main(void)
{
char target[400] = {0},search [400] = {0};//
printf("输入字符串:\n");
gets(target);
printf("输入要查找的字符串\n");
scanf("%s",search);
printf("出现的次数为:%d\n",search_string(target,search));
}

不懂再问哈
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式