课程设计实训-3 英文词典
问题及代码
做一个简单的电子词典。在文件dictionary.txt中,保存的是英汉对照的一个词典,词汇量近8000个,英文与释义间用’\t’隔开。编程序,将文件中的内容读到两个数组e[]和c[]中,分别代表英文和中文,由用户输入英文词,显示中文意思。运行程序后,支持用户连续地查词典,直到输入“0000”结束,
提示:文件中的词汇已经排序,故在查找时,用二分查找法提高效率。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int find(int low,int high,char *word);char English[8000][20],Chinese[8000][20];int main()
{char word[20];int low,high,index,i=0;FILE *fp;fp=fopen("dictionary.txt","r");//打开文件if(fp==NULL){printf("error,can't open the file");exit(1);}//判断是否打开while( fscanf(fp,"%s\t%s",English[i],Chinese[i])!=EOF){i++;}fclose(fp);//单词及汉译输入数组while(1){printf("请输入要查找的单词(输入0000退出) ");scanf("%s",word);//输入关键词if(strcmp(word,"0000")==0){break;}else{low=0;high=i-1;index=find(low,high,word);}//二分法查找单词if(index>=0){printf("%s的中文意思是%s\n",word,Chinese[index]);printf("欢迎使用\n");}else{printf("查无此词\n");}}return 0;}
/******************************************************
功能描述 用于查找搜索的单词位置
输入参数 low :用于二分法查找的最小位置high:用于二分法查找最大位置word:要查找的单词
返回值 mid:确定英文单词的位置,确定汉译;-1:表示无此单词
其他说明 无
******************************************************/
int find(int low,int high,char *word)
{int mid;while(low<=high){mid=(low+high)/2;if(strcmp(word,English[mid])==0){return mid;}else if(strcmp(English[mid],word)>0){high=mid-1;}else{low=mid+1;}}return -1;
}
运行结果及测试(需要打开dictionary。txt) 第一组 word数组:success(汉译)
第二组word数组:zxc(查无此词)
第三组word数组:0000(退出)
知识点总结
使用了数组,二分法,循环判断结构;
学习心得
这是一次知识点综合实践的练习
课程设计实训-3 英文词典相关推荐
- C++课程设计实训_基于多态书籍信息管理系统的设计与实现、附源码、有过程截图
C++课程设计实训_基于多态书籍信息管理系统的设计与实现.附源码,有过程截图 书籍信息管理系统的设计与实现(基于多态) 学生姓名: 学 号: 指导老师: 所 在 系: 专 业: 班 级: C++课程设 ...
- android课程设计实训目的,汽车专业实习目的与意义
实习目的及意义 1.通过生产实习加深对汽车运用与维修专业认识,巩固专业思想,激发学习热情. 2.熟悉汽车修理环境.修理工具.为以后走上工作岗位积累一定的知识与经验. 3.开拓我们的视野,增强专业意识, ...
- C++课程设计实训报告
南阳理工学院·软件学院 课程设计报告 课程名称: C++面向对象程序设计(课程设计) 课题名称: 新生基本信息统计软件 姓 名: 学 号: 专 ...
- 【C语言】课程设计实训——人事管理系统
目录 题目: 总体设计 详细设计 系统实现 题目 1.需求分析 人事档案信息采用文件存储,要提供文件的输入输出操作:根据学院人事的变动情况,可添加或删除记录,因而要提供文件的添加删除操作:能根据编号和 ...
- 【数据结构】-大二数据结构与算法课程设计实训报告
采花生问题 1.1 需求分析 1.1.1 题目概要 给一矩阵,按贪心思路最多能采多少花生并在规定时间内返回. 1.1.2 题目要求 给定一块花生田的大小和花生的分布,在限定时间内,小Q最多可以采到多少 ...
- c语言项目研发实训设计,关于软件设计实训心得体会(通用5篇)
关于软件设计实训心得体会(通用5篇) 当我们经过反思,对生活有了新的看法时,往往会写一篇心得体会,这样能够让人头脑更加清醒,目标更加明确.那么好的心得体会都具备一些什么特点呢?以下是小编精心整理的关于 ...
- 包装实训总结报告_包装设计实训心得体会
包装设计实训心得体会 包装设计实训心得体会 当我们受到启发,对学习和工作生活有了新的看法时,不妨将其写成一篇心 得体会, 让自己铭记于心, 它可以帮助我们了解自己的这段时间的学习. 工作生 活状态. ...
- 山西高平地域文化导入美术设计实训项目的实践
地域文化,是指某个地域的人们在特定的范围内,在自然环境的基础上,在长期的生产生活中创造的.人类活动的产物.山西高平是神农炎帝的故里,长平之战的发生地,是一个有着很深文化积淀的新兴城市,行政区域是国土面 ...
- html框架实验总结,网页设计实训心得
网页设计实训心得 圣诞活动圣诞雪景 关于我们 二.分页的制作 1.圣诞起源表格布局及其效果图 网页制作实训报告 网页制作实训报告 2.圣诞雪景代码显示及其最终效果. type="text/j ...
最新文章
- 将undefault和null的数据转换成bool类型的数据 使用!!
- PostgreSQL增强版命令行客户端(pgcli)
- Samba服务器简介及自动挂载配置案例
- cad画流程图的插件_盘一盘,那些提效/创意的 vscode 插件
- Perl脚本语言学习1:
- axure rp9安装教程,axurerp9安装步骤
- 数据分析:同比-环比
- 视频教程-物联网嵌入式技术应用-物联网技术
- 【BZOJ4987】Tree 树形DP
- 机器学习实战之朴素贝叶斯与垃圾邮件分类
- socketDemo套接字
- 什么是浮点型?什么是单精度浮点数(float)以及双精度浮点数(double)?
- centos7.x安装配置流程
- [宋史学习] 王全斌功过
- 那些你可能不知道的搜索奇技淫巧
- ros melodic解决报错ImportError: libcv_bridge.so: cannot open shared object file: No such file or directo
- 私域运营中,企业私域流量挖掘用户价值的三种手段
- 【转】 男人二十岁后应该学会的习惯
- 本科计算机er发篇sci是一种什么样的体验?
- 什么是BOM BOM概述 浏览器对象模型 BOM的构成