c语言程序电子词典,C语言及程序设计进阶例程-14 开发一个电子词典
开发一个电子词典(下载词库点击打开链接)
#include
#include
#include
//定义词条类
typedef struct
{
char english[20];
char chinese[30];
char word_class[10];
} Word;
Word words[8000]; //将词典数组设置成全局的结构体数组
int wordsNum=0; //词典中的词条数目
/*从文件中将词读到字典中*/
void readDictionary()
{
FILE *fp;
//将文件中的数据读入到对象数组中
fp = fopen("dictionary.txt","r"); //以输入的方式打开文件
if(fp==NULL) //测试是否成功打开
{
printf("dictionary open error!\n");
exit(1);
}
while (!feof(fp))
{
fscanf(fp, "%s%s%s", words[wordsNum].english, words[wordsNum].chinese,words[wordsNum].word_class);
++wordsNum;
}
fclose(fp);
}
int BinSearch(int low, int high, char *key)
{
int mid;
while(low<=high)
{
mid=(low + high) / 2;
if(strcmp(words[mid].english, key)==0)
{
return mid; //查找成功返回
}
if(strcmp(words[mid].english, key)>0)
high=mid-1; //继续在w[low..mid-1]中查找
else
low=mid+1; //继续在w[mid+1..high]中查找
}
return -1; //当low>high时表示查找区间为空,查找失败
}
void searchWord(char *key)
{
int low=0,high=wordsNum-1; //置当前查找区间上、下界的初值
int index=BinSearch(low, high, key);
if(index>=0)
printf("%s ---> %s \t %s", key, words[index].word_class, words[index].chinese);
else
printf("查无此词");
printf("\n\n");
}
int main( )
{
readDictionary();
char key[20];
do
{
printf("请输入待查询的关键词(英文),0000结束:\n");
scanf("%s", key);
if (strcmp(key,"0000"))
{
searchWord(key);
}
else
{
break;
}
}
while(1);
printf("欢迎再次使用!\n\n");
return 0;
}
c语言程序电子词典,C语言及程序设计进阶例程-14 开发一个电子词典相关推荐
- c语言实验分支程序设计二,C语言程序实验报告分支结构的程序设计(0页).doc
C语言程序实验报告分支结构的程序设计(0页) 数学与软件科学学院 实验报告 学期:11至12___ 第_1 学期 2011年10 月 17 日 课程名称:程序设计基础教程-C语言 专业:2010级5_ ...
- 8255a初始化c语言程序,8255A的c语言程序.doc
8255A的c语言程序 8255A的c语言程序 [实例24]用8243扩展I/O端口 #include sbit ContrBit0=P1^0; sbit ContrBit1=P1^1; sbit C ...
- 单片机 中断秒表 c语言程序,51单片机c语言的秒表设计.doc
51单片机c语言的秒表设计.doc 课程设计报告 基于AT89C51单片机的秒表设计 院 系 电子信息工程学院 专 业 电子信息工程 1 姓 名 摘 要 本设计是设计一个单片机控制的多功能秒表系统. ...
- 怎么用centos7运行c语言程序_写C语言程序,如何提升程序运行效率?我的一点经验分享给你们!...
在编写C语言程序后,经常需要对源码进行优化,以提高程序的运行效率,下面简述几个常用的优化技巧以供大家参考: 1.C于代码在程序中的优化 现在的C编译器会自动对代码进行优化,但这些优化是对执行速度和代码 ...
- 单纯形 c语言 程序,单纯形法完全c语言程序
单纯形法完全c语言程序 更新时间:2017/2/8 13:37:00 浏览量:566 手机版 单纯形法完全c语言程序,能运行 #include "math.h" #includ ...
- 程序设计基础(c语言),程序设计基础(C语言)
<程序设计基础(C语言)>由会员分享,可在线阅读,更多相关<程序设计基础(C语言)(26页珍藏版)>请在人人文库网上搜索. 1.程序设计基础(C语言),东北大学高级语言程序设计 ...
- c语言程序链接过程,C语言简明教程(二):C程序编译链接过程和实例对照详解...
不像高级编程语言,在C语言开发中,了解其编译链接过程显得相对重要,因为C语言是较为底层的语言,很多时候我们调试C程序或者解决其它问题都可能会涉及到C编译链接的相关知识,例如编译动态库或者静态库.下面我 ...
- c语言程序改错例题,C语言程序改错习题
C语言程序改错习题 行动是通向成功的唯一途径.以下是小编为大家搜索整理的C语言程序改错习题,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网! 在考生文件夹下,给定程序MODI.C的功 ...
- c语言程序40例,C语言程序讲解40例.pdf
实用标准文案 C 语言程序讲解 40 例 [程序 1] 题目:有 1.2.3.4 个数字, 能组成多少个互不相同且无重复数字的三位数?都是多少? 1. 程序分析:可填在百位.十位.个位的数字都是 1. ...
- 怎样检查c语言程序的问题,C语言陷阱与技巧第24节,做代码选择,不一定都要使用 if 判断的...
在C语言程序开发中,实现需求的解决方案往往不止一个.解决一个问题,程序员一般都能够设计出多个解决方案,并写出相应的C语言代码. 可能有读者会觉得,解决问题的话,写出一种方法就可以了,给出多个方法没有意 ...
最新文章
- 真 · 圆桌!WAIC论坛上演自动驾驶专家激辩,直面技术路径之争
- 中国python之父是谁-Python之父:谈Python
- 行业网站设计策划书_怎么把金融行业网站设计排版做到符合用户体验?
- java第三章:流程控制语句
- 【项目合作】最高50万元!道路缝隙检测、目标跟踪优化、机器人平台开发
- 今天没事做了个MBTI职业倾向测试
- ubuntu 串口 树莓派_linux系统(ubuntu)烧录安装树莓派及远程连接树莓派
- python 调用 c 模块
- GDB 反向调试(Reverse Debugging)
- TFS无法连接:TF31002
- win10默认壁纸_win10主题软件哪个好用 win10主题软件排行
- RecyclerView实现横向滚动
- java设计一个bank类实现银行_关于JAVA设计一个银行账户管理类
- 有趣的算法:捞鱼问题
- 基于tesseract的文字识别
- MFC添加afx_msg点击事件
- 联盟链系统开发 联盟链开发多钱
- 实现动态表单功能设计思路
- ':app:clean'. Unable to delete directory:app\build\intermediates
- 将RSA加密应用在ARM-Linux平台
热门文章
- oracle sql列转行_oracle 行转列 列转行 转载
- 在centos系统上安装python
- 亲测有效,使用postman进行并发测试
- 用户体验与可用性测试_读书笔记
- 海信电视老出现android是什么意思,海信电视屏幕上显示“智能电视系统启动中,请稍后”是什么意思?怎样处理?- 一起装修网...
- SAP计划策略40测试
- c 语言所有符号,c语言 符号
- 京东商品分类API接口-(cat_get-获得jd商品分类API接口),京东分类API接口
- Python面向对象编程:数据封装、继承和多态
- 产品读书《自卑与超越》