王朝 电子词典163-1烟台大学
来源:互联网 发布:绿色优化手机软件 编辑:程序博客网 时间:2024/05/01 04:28
功能描述:电子词典查找某个单词输入参数:word-要查找的单词 E,C-存储数据的数组返 回 值:mid,-1;其他说明:无#include <stdio.h>#include <stdlib.h>#include<string.h>char E[8000][30],C[8000][30],word[30];//定义英文汉语和要查的单词,规定字符长度太短,致使不可正确读入int i=0;int fun(int low, int high, char *W);//定义二分法函数int main( ){ FILE *fin; /* 输入文件 */ fin=fopen("dictionary.txt","r"); /* 打开输入文件读 */ if(!fin) /* 文件打开失败 */ { fprintf(stderr,"error open file!\n"); /* 输出错误信息到标准错误设备 */ exit(-1); /* 强制退出,并返回错误码 */ } while(fscanf(fin,"%s%s",E[i],C[i])!=EOF)//将文件全部读入并统计单词个数 { i++; } fclose(fin); printf("电子词典\n"); do//输入查询的单词 { printf("请输入查询的单词\n"); scanf("%s",word);//数组不用取地址,&word[20]代表是取第19个元素地址。 if(strcmp(word,"0000")==0)//‘0000’代表结束 break; else { int low=0,high=i-1;//运用二分法 int T=fun(low, high,word); if(T==-1) printf("无此单词\n"); else printf("%s单词汉语意思%s\n", word,C[T]); } } while(1); return 0;}int fun(int low, int high, char *W){ int mid; while(low<=high) { mid=(low + high) / 2; if(strcmp(E[mid],W)==0) { return mid; //查找成功返回 } else if(strcmp(E[mid],W)>0) high=mid-1; //在low,mid-1中找 else low=mid+1; //或在mid+1,high中查询 } return -1; //当low>high时表示查找区间为空,查找失败}
0 0
- 王朝 电子词典163-1烟台大学
- 烟台大学CSDN俱乐部
- oj 1045 烟台大学
- 烟台大学 oj 1006
- 烟台大学官网仿写
- 烟台大学大一新生C+第二周实验报告1
- 烟台大学银行开业啦!
- CSDN高校俱乐部牵手烟台大学
- 烟台大学讲座:编程学习之路
- 烟台大学举办首届ACM程序设计大赛
- 烟台大学acm暑期集训总结
- 烟台大学体测成绩查询程序
- 数据结构实训 烟台大学导游系统
- 烟台大学新秀赛 E、F
- 烟台大学官网静态图
- 王朝
- 王朝
- 王朝
- Google Gson 简介
- 线性筛法 与 线性求欧拉函数 的计算模板
- ubuntu系统下matplotlib中文乱码问题
- Eclipse中使用复制粘贴功能非常卡的解决办法
- MyEclipse中.classpath.project.mymetadata
- 王朝 电子词典163-1烟台大学
- 设计模式
- Google Guice 依赖注入方式--2
- 关于Vue生命周期的一些理解记录
- 微信热补丁解决方案Tinker初探(一)
- 继承重写NetworkLobbyPlayer之后无法创建GamePlayer的解决办法
- Ubuntu 16.04 安装opencv2.4
- express的cookie-parser的使用
- Toast 封装