应该如何去改正
5 回答
已采納

Yexiaomo
TA貢獻(xiàn)152條經(jīng)驗(yàn) 獲得超157個(gè)贊
程序入口就是需要定義 ?main() 方法
看代碼應(yīng)該是C語(yǔ)言的折半查找算法,雖然文件后綴名是 .cpp ,按照C語(yǔ)言方式寫應(yīng)該沒(méi)啥問(wèn)題
將你的定義數(shù)組放在main()方法中
在程序的最后添加如下代碼
int?main() { ????int?v[20]?=?{1,2,3,4,5,6,7,8,9,10}; ????int?index?=?binsearch(5,?v,?10);?//我這里查找的是?5 ????printf("查找?5?在數(shù)組中的位置為:?%d",?index);? ????return?0; }

Yexiaomo
TA貢獻(xiàn)152條經(jīng)驗(yàn) 獲得超157個(gè)贊
binsearch(5,v,10)
含義就是在 v數(shù)組中查找 5這個(gè)數(shù)
查找索引結(jié)束是 10
--------------分割線-------------
完整代碼這樣寫
#include?<stdio.h> int?binsearch(int?x,?int?v[20],?int?n) { ????int?low,?hight,?mid; ????low?=?0; ????hight?=?n?-?1; ????while(low?<=?hight) ????{ ????????mid?=?(low+?hight)/2; ????????if?(x<v[mid]){ ????????????hight?=?mid-1; ????????}else{ ????????????low?=?mid+1; ????????} ????????mid?=?(low+hight)/2; ????} ????if?(x?==?v[mid]) ????{ ????????return?mid; ????}else{ ????????return?-1; ????} }? int?main() { ????int?v[20]?=?{1,2,3,4,5,6,7,8,9,10}; ????int?index?=?binsearch(5,?v,?10); ????printf("查找?5?在數(shù)組中的位置為:?%d",?index);? ????return?0; }
- 5 回答
- 0 關(guān)注
- 5173 瀏覽
添加回答
舉報(bào)
0/150
提交
取消