三九宝宝网宝宝教育教学论文

求大神解答一道C语言题:用二分法在顺序排列的字典中查找单词

01月02日 编辑 39baobao.com

[易语言调用易系统功能这个命令怎么调用又没有列子求大神指点].版本 2 .程序集 窗口程序集1 .程序集变量 子程序指针_整数型, 整数型, , , 修改对应“lpPrevWndFunc”的类型 .程序集变量 子程序指针_指针型, 子程序指针, , , 修改对应“lpPrevWn...+阅读

#include

#include

void binary_search(char key[100], char a[100][100], int n) /*自定义函数binary_search*/

{

int low, high, mid, count = 0, count1 = 0;

low = 0;

high = n - 1;

while (low < high) /*当查找范围不为0时执行循环体语句*/

{

count++; /*count记录查找次数*/

mid = (low + high) / 2; /*求出中间位置*/

if (strcmp(key,a[mid])<0) /*当key小于中间值*/

high = mid - 1; /*确定左子表范围*/

else if (strcmp(key,a[mid])>0) /*当key大于中间值*/

low = mid + 1; /*确定右子表范围*/

else if (strcmp(key,a[mid])==0) /*当key等于中间值证明查找成功*/

{

printf("success!\nsearch %d times!a[%d]=%d", count, mid, key);

/*输出查找次数及所查找元素在数组中的位置*/

count1++; /*count1记录查找成功次数*/

break;

}

}

if (count1 == 0) /*判断是否查找失败*/

printf("no found!"); /*查找失败输出no found*/

}

main()

{

char key[100],a[100][100];

int i,n;

printf("please input the length of array:\n");

scanf("%d", &n); /*输入单词个数*/

printf("please input the element:\n");

for (i = 0; i < n; i++)

scanf("%s", a[i]); /*输入有序单词到数组a中*/

printf("please input the number which do you want to search:\n");

scanf("%s", key); /*输入要查找的关键字*/

binary_search(key, a, n); /*调用自定义函数*/

}

以下为关联文档:

军训病号感想求大神刚开始的军训生活让我们这些家中的小皇帝、小公主们还能忍受。可到了晚上大家都十分的累了,甚至不想去了。身为学生这点事不会难到我们的。“要做就做好,做出点成绩来!”我在最...

帮着想几个法律专科毕业论文的题目!求大神帮助提供一些法律专科毕业论文的题目,供参考。 1、浅谈现行《收养法》的缺陷与完善 2、论代位继承 3、论无效婚姻 4、家庭暴力的现状与对策 5、论行政赔偿的追偿制度 6、论行政处...

各位大神求教易语言如何打印EXCEL表格.版本 2 .支持库 eexcel2000 excel工作簿1.置程序 (excel程序1) ' 设置工作簿于excel程序领导之下 excel工作簿1.打开 (取当前目录 () +“\” + 年级数 +“.xls”) ' 本来可以加个...

C语言编程题:初始化一个已排序的整型数组用二分法查找其中是#include <stdio.h> #include <string.h> void Sort(int a[],int n) { int i,j,k; int num; for(i = 0; i < n - 1; ++i) { k = i; for(j = i + 1; j < n; ++j) if(a[k] > a...

C语言编程二分法#include <math.h> #include <stdio.h> double fun(double x) { return 2 * x * x * x - 4 * x * x + 3 * x - 6; } double root(double a, double b, double e) { double x...

二分法C语言程序1、打开Python开发工具IDLE,新建'search.py'。 2、F5运行程序,list1被正确排序,写这个的目的是说明二分法查找必须前提是一个有序的列表,如果一开始无序首先要排序,当数据量大的...

C语言中二分法和插入排序案例就两个!只涉及数组与函数内容主你好,二分法 #include #define f(x) (x*x*x-2*x*x+3*x-4) void main() { float a=-10,b=10,c,eps=1e-5; while ((b-a)>eps) { c=(a+b)/2; if(f(c)==0) break; else if(f(a)*f...

关于C程序中的二分法2分法也就是2分查找法也叫折半法吧 不过条件就是你所查找的数据必须先有序!必须采用顺序存储结构 2 分查找法的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有...

求解 C语言二分法已经改正,可以执行了,但是不知道你的得算多长时间,但是代码可以运行了,你的编码习惯不好,可能是刚开始的原因吧, 多加注意#include<stdio.h> #include<math.h> int main() { doubl...

推荐阅读
图文推荐