【使用Hash表实现英文单词表并实现单词查询操作:给定单词查询其英文翻译:(1)构造用于存放英文单词表的散列表结构:定义Hash函数;使用开散列法处理冲突;(2)英文单词表在附件文】

发布时间:2025-04-12 17:57

在Kindle上阅读英文书籍,开启单词高亮功能学习新词汇。 #生活技巧# #数码产品使用技巧# #电子阅读窍门#

问题描述:

使用Hash表实现英文单词表并实现单词查询操作:

给定单词查询其英文翻译:

(1)构造用于存放英文单词表的散列表结构:定义Hash函数;使

用开散列法处理冲突;

(2)英文单词表在附件文本中,从文件读入,一行一条.每一行

前半部分为英文单词本身,后半部分为中文翻译,两部分之间用tab字

符隔开(’t’).注意英文单词中可能有空格;

提供用户单词查询操作:根据输入的英文单词,给出对应的中文翻译.

操作平台:VC6.0

英文单词表的txt文件格式如下:

Swimming游泳

swimmingpool游泳池

changingroom更衣室

shower淋浴

spaningplatform跳台

ten-meterplatform10米跳台

five-meterplatform5米跳台

three-meterspringboard3米跳板

one-meterspringboard1米跳板

spaningpool跳水池

non-swimmer'spool浅水池

swimmer'spool深水池

startingblock出发台

startingspane出发起跳

ropewithcorkfloats水线

swimminglane泳道

touchingthefinishingline终点触线

timekeeper计时员

lifesaver救生员

landdrill陆上练习

breaststroke蛙泳

crawlstroke爬泳

backstroke仰泳

sidestroke侧泳

butterflystroke蝶泳

dolphinbutterflystroke海豚式蝶泳

treadingwater踩水

underwaterswimming潜泳

swimmingpoolwithartificialwaves人工海浪泳池

artificialwaves人工海浪

swimmingtrunks泳裤

swimsuit泳衣

swimmingcap泳帽

bikini比基尼泳衣

bikinibottom比基尼式泳裤

surfing冲浪

surfboard冲浪板

waterski滑水橇

请帮忙写出完整的代码,这个对我来说实在太复杂了,所以只能找高人求教了.

蔡秀云回答:

  #include   #include   #include   #defineN100//散列表长度   structNode   {   char*key;char*val;   Node*next;   }*heads[N];//散列表,用链处理冲突   inthash(char*key)//散列函数   {   unsignedlongh=0;   while(*key)   {   h=(h24;   h&=~g;   }   returnh&N;   }   Node*find(char*key)//查找   {   Node*cur=heads[hash(key)];   while(cur)   {   if(!strcmp(cur->key,key))   returncur;   cur=cur->next;   }   returnNULL;   }   voidinsert(char*key,char*val)//插入   {   inti=hash(key);   Node*head=heads[i];   if(find(key)==NULL)   {   Node*tmp=(Node*)malloc(sizeof(Node));   tmp->key=(char*)malloc(strlen(key)+1);   tmp->val=(char*)malloc(strlen(val)+1);   strcpy(tmp->key,key);   strcpy(tmp->val,val);   tmp->next=head;   heads[i]=tmp;   }   }   main()   {   chartmp[100],*key,*val;   Node*cur;   FILE*fp=fopen("abc.txt","r");   if(fp==NULL)   {   printf("打开文件有问题n");   exit(1);   }   while(fgets(tmp,100,fp)!=NULL)   {   if(tmp[strlen(tmp)-1]=='n')   tmp[strlen(tmp)-1]='';   key=strtok(tmp,"t");   val=strtok(NULL,"t");   insert(key,val);   }   printf("输入你要查找的单词:n");   while(gets(tmp))   {   cur=find(tmp);   if(cur==NULL)   printf("没找到n");   else   printf("%sn",cur->val);   }   }

八字精批 八字合婚 八字起名 八字财运 2025运势 测终身运 姓名详批 结婚吉日

相关文章

【已知函数f(x)=x+4x+1,x>0−x−4x+1,x<0(1)判断函数f(x)的奇偶性;(2)试用函数单调性定义说明函数f(x)在区间(0,2]和[2,+∞)上的增减性;(3)若x1,x2满足:1≤|x1|≤4,1≤|x2|】

【生物的物种既能保持基本稳定,又能不断进化发展,是因为生物具有()A.生殖和发育的特性B.遗传和变异的特性C.生长现象D.由细胞构成的特性】

【对已经得到的感到满足,安于命运对自己的安排是词语,不过谢谢你们】

【哪种生物中具有叶绿体所有生物水绵。是怎么回事】

【英语达人进,英译中Pleasedofinishtheassessmentby2012/10/270:00--2012/10/2723:00.(BeijingTime).Pleasenotethatthelogindetailsgivenbelowwon'tbeactivateduntil2012/10/270:00.】

南阳刘子骥,高尚士也.刘子骥是谁?

【南阳刘子骥,高尚士也的句式】

【如图,将矩形纸片ABCD中折叠,使顶点B落在边AD的E点上折痕FG交BC于G,交AB于F,若∠AEF=20°,则∠FGB的度数为()A.25°B.30°C.35°D.40°】

形容对已得到的感到满足,安于命运对自己的安排.

下面的英文是什么意思拜托了各位谢谢

网址:【使用Hash表实现英文单词表并实现单词查询操作:给定单词查询其英文翻译:(1)构造用于存放英文单词表的散列表结构:定义Hash函数;使用开散列法处理冲突;(2)英文单词表在附件文】 https://www.yuejiaxmz.com/news/view/861810

相关内容

背英语单词词根词缀的重要性
哈希表的应用和哈希冲突解决方案分析
英语单词归类方法有哪些?英语单词归类记忆方法是怎样的?
英语单词怎么记得快 高效背单词方法
打扫卫生的英文单词
生活必备用品英语单词 ,20个日常用品英语单词
生活娱乐的英文单词怎么写
打扫的英文单词
(完整)初中英语1600单词奇速记忆法(三)
英语单词!各种家务活的英语表达!

随便看看