采用C或C++编程,对出现的单词次数进行统计,并按照出现次数从低到高排序
答案:3 悬赏:10 手机版
解决时间 2021-02-16 03:57
- 提问者网友:战魂
- 2021-02-15 15:26
采用C或C++编程,读取一个文本文件(英文,ASCII编码),对出现的单词次数进行统计,并按照出现次数从低到高排序,输出到一个文本文件中(每行一个单词信息,格式:单词 出现次数)。
最佳答案
- 五星知识达人网友:刀戟声无边
- 2021-02-15 16:38
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "ctype.h"
#include "string.h"
struct abc{
int n;
char w[21];
};
void main(void){
struct abc wn[500],t;
int i,j,k,x;
FILE *fp;
if((fp=fopen("intxt.txt","r"))==NULL){
printf("Failed to open the input file...\n");
exit(0);
}
memset((char *)wn,'\0',sizeof(wn));
i=j=0;
while((wn[i].w[j]=getc(fp))!=EOF){
if(isalpha(wn[i].w[j])) j++;
else{
wn[i].w[j]='\0';
for(k=0;k if(!strcmp(wn[i].w,wn[k].w)){
wn[k].n++;
break;
}
if(k>=i && j) wn[i++].n++;
j=0;
}
}
fclose(fp);
for(j=0;j for(x=j,k=j+1;k if(wn[x].n>wn[k].n) x=k;
if(x!=j){
t=wn[j];
wn[j]=wn[x];
wn[x]=t;
}
}
if((fp=fopen("outtxt.txt","w"))==NULL){
printf("Failed to open the output file...\n");
exit(0);
}
for(i=0;i
fprintf(fp,"%s\t%d\n",wn[i].w,wn[i].n);
printf("%s\t%d\n",wn[i].w,wn[i].n);
}
fclose(fp);
}
#include "stdio.h"
#include "ctype.h"
#include "string.h"
struct abc{
int n;
char w[21];
};
void main(void){
struct abc wn[500],t;
int i,j,k,x;
FILE *fp;
if((fp=fopen("intxt.txt","r"))==NULL){
printf("Failed to open the input file...\n");
exit(0);
}
memset((char *)wn,'\0',sizeof(wn));
i=j=0;
while((wn[i].w[j]=getc(fp))!=EOF){
if(isalpha(wn[i].w[j])) j++;
else{
wn[i].w[j]='\0';
for(k=0;k if(!strcmp(wn[i].w,wn[k].w)){
wn[k].n++;
break;
}
if(k>=i && j) wn[i++].n++;
j=0;
}
}
fclose(fp);
for(j=0;j for(x=j,k=j+1;k if(wn[x].n>wn[k].n) x=k;
if(x!=j){
t=wn[j];
wn[j]=wn[x];
wn[x]=t;
}
}
if((fp=fopen("outtxt.txt","w"))==NULL){
printf("Failed to open the output file...\n");
exit(0);
}
for(i=0;i
printf("%s\t%d\n",wn[i].w,wn[i].n);
}
fclose(fp);
}
全部回答
- 1楼网友:独钓一江月
- 2021-02-15 18:23
单词数我可以弄,但排序?你要排什么啊?
- 2楼网友:往事埋风中
- 2021-02-15 17:00
#include
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯