用c语言编写程序,统计某文件中某个单词出现次数
4个回答
展开全部
#define N 20
#define M 100
#include<stdio.h>
#include<string.h>
int main()
{char m[20];
int k=0;
int d[M];
char b[N],e[10000];
char a[M][N];
char c=0;
int i;
for(i=0;i<M;i++)
d[i]=0;
printf("请输入文件名\n");
gets(m);
FILE *fp;
int n=0,o=0;
if(!(fp=fopen(m,"r+")))
{printf("文件未找到\n");}
else
{
while(c!='#')/*判断是否到文件末尾*/
{for(i=0;i<N;i++)/*读入一个单词*/
{
fscanf(fp,"%c",&c);
if(c==' '||c=='#') break;
else b[i]=c;
}
b[i]='\0';/*结尾符*/
if(k==0) {strcpy(a[k],b);d[k++]++;}/*第一次,把b复制到a【0】*/
else {
for(i=0;i<k;i++)
{
if(!strcmp(b,a[i])) {d[i]++;break;}
}
if(i==k){strcpy(a[k],b);d[k]++;k++;}
}
}
}
for(i=0;i<k;i++)
printf("%s %d\n",a[i],d[i]);
getchar();
return 0;}
展开全部
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
FILE* file;
int i=0;
int p,total=0;
file = fopen("file9.txt","r+b");
if(file == null) {
printf("文件不存在\n");
return 0;
}
while(!feof(file)) {
p = strncmp(file, "dream", 5);
if(p == 0) total += 1;
i += 1;
fseek(file,1,0);
}
printf("文件中特殊单词的总数为:%d\n",total);
return 1;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以借鉴如下例程:
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
int i=0;
int p,total=0;
fopen("file9.txt","r+b");
if(file == null) {
printf("文件不存在\n");
return 0;
}
while(!feof(file)) {
p = strncmp(file, "dream", 5);
if(p == 0) total += 1;
i += 1;
fseek(file,1,0);
}
printf("文件中特殊单词的总数为:%d\n",total);
return 1;
}
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
int i=0;
int p,total=0;
fopen("file9.txt","r+b");
if(file == null) {
printf("文件不存在\n");
return 0;
}
while(!feof(file)) {
p = strncmp(file, "dream", 5);
if(p == 0) total += 1;
i += 1;
fseek(file,1,0);
}
printf("文件中特殊单词的总数为:%d\n",total);
return 1;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
读取文件里的字符串到一个字符数组里面,直接用strncmp(str+k,"dream",5)函数解决,把k++一路判断下去不就行了
追问
关键是我啥都不会啊,,,能不能把代码写了给我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询