无头少女 2021-06-04 08:43 采纳率: 40%
浏览 10

基于单链表 ,在一个英文文件中输出所有不相同的单词并打印词频

#include <malloc.h>

#include <string.h>

#include <iostream>

using namespace std;

typedef struct node{

 char data[20];

 int count;

 struct node *next;

}LNode,*LinkList;

void init(LinkList *L);//初始化链表 

void distinguish_count();//截取单词并输入进2单链表,统计了重复个数,并输出链表 

void input(LinkList L,char *a);//于dis..函数中帮助实现向链表输入单词,统计重复个数 

void print_1(LinkList L);//打印出每个节点的单词与词频

void init(LinkList *L){

 (*L)=(LinkList)malloc(sizeof(LNode));

 (*L)->next=NULL;

 

void distinguish_count(LinkList L){ 

 FILE *fp;

 char arr[20],c;

 init(&L);

 fp=fopen("Infile.txt","r");

 if(fp==NULL)

  printf("fall to open!\n");

 else{

  while(!feof(fp)){//循环到文件结束 

   printf("test ");

    int i=0;

   arr[0]={'\0'};

   //截取一个单词(大写) 

   while((c=fgetc(fp)!=EOF)&&c!=' '&&c!=','&&c!='.'&&c!=';'){

   //全部大写化 

    if(c>='a'&&c<='z')

     c+=32;  

    arr[i]=c;

    ++i;

                

   }

   arr[i]={'\0'};

   if(arr[0]!='\0')

    input(L,arr);

 }}

 print_1(L);

 fclose(fp); 

}

 

//查词频 头插法 

void input(LinkList L,char *a){

 LinkList P;

 LinkList Q;

 Q=L->next ;

 int flag;

 //查重 

 for(Q=L;Q->next!=NULL;Q=Q->next){

  if(stricmp(a,Q->data)==0 ){

   Q->count++;

   flag=1;

   break;

  }

 } 

 

 //头插法  

 if(flag==0){

  P=(LinkList)malloc(sizeof(LNode));

  strcpy(P->data,a);

  P->count=1;

  P->next =L->next ;

  L->next =P;

 } 

 

//打印单词及其词频 

void print_1(LinkList L){

  LinkList p;

  p=L->next;

  while(p!=NULL){

   cout<<"word:"<<p->data<<" "<<"count:"<<p->count <<endl;

  p=p->next;

 }

 

int main(){

 LinkList L;

 distinguish_count(L);

}

为什么该程序没有报错,但是就是运行不了。球球大佬,救救孩子,孩子实训熬不过去了😭😭😭

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 16:55
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置