c语言去掉文件中重复单词,可以读出文件中出现所有单词的出现次数并显示求只显示出现最多5...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

可以读出文件中出现所有单词的出现次数并显示求只显示出现次数最多的5个单词及其出现次数

现代码如下:

#include

#include

#include

#include

struct Word {

char w[20];

int k;

struct Word *next;

};

int main(int argc, char *argv[])

{

FILE *fp = fopen("input.txt","r");

struct Word *Head = NULL;

while (!feof(fp)) {

char *p = (char *)malloc(20*sizeof(char));

fscanf(fp, "%s", p);

if(Head == NULL){

struct Word *temp = (struct Word *)malloc(sizeof(struct Word));

strcpy(temp->w, p);

temp->k = 1;

temp->next = NULL;

Head = temp;

} else {

struct Word *pp = Head;

while (pp != NULL) {

if (strcasecmp( pp->w, p) == 0){

++pp->k;

break;

} else {

pp = pp->next;

}

}

if (pp == NULL){

struct Word *temp = (struct Word *)malloc(sizeof(struct Word));

strcpy(temp->w, p);

temp->k = 1;

temp->next = Head;

Head = temp;

}

}

}

struct Word *q = Head;

while (q != NULL) {

printf("%s ", q->w);

printf("%d\n", q->k);

q = q->next;

}

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值