第1个回答 2012-12-17
楼上有错误,如果查找and的话会有两个结果,land里面的and也会算进去
#include <stdlib.h>
#include <stdio.h>
int chazhao(char *str1,char *str2)
{
char *p=str1;//p指向句子
int i=0,k=0;//k统计个数
while(*p!='\0')//句子结束退出循环
{
while(*p!=' ')//单词结束退出循环 查找下个单词
{
if(*p!=str2[i])//遇到不同字母 指向下一个单词
while(*p!=' ') p++;
else//字母相同
{
if(*(p+1)==' ')//单词结束 计数加一
{
k++;
p++;
}
else//比较下一个字母
{
i++;
p++;
}
}
}
p++;
i=0;
}
return k;
}
void main()
{
char word[100],juzi[100];
printf("输入要句子:\n");
gets(juzi);
printf("输入要查找的单词:\n");
gets(word);
printf("单词的个数:%d",chazhao(juzi,word));
}
如果用文件的话用fget(str,n,fp);
函数的功能就是把fp所指文件里的n个字符放到字符串str里面,如果遇到'\0'退出函数本回答被提问者采纳