
用LUA写一个函数,读入一个英文文本文件,输出文件中各单词出现的次数 10
展开全部
<pre t="code" l="cpp">#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;}
#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;}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询