6 4 二分查詢 15分

2021-10-01 14:12:55 字數 984 閱讀 1306

已有乙個10個元素的整形陣列a,且按值從小到大有序。輸入乙個整數x,然後在陣列中查詢x,如果找到,輸出相應的下標,否則,輸出"not found"。。 要求編寫函式int bsearch(int *p, int n, int x),找到返回下標,找不到返回-1。

函式介面定義:

int bsearch(int *p, int n, int x);

其中 p是陣列首位址,n是陣列元素個數,x是要查詢的值。找到返回下標,找不到返回-1。

裁判測試程式樣例:

#include

intbsearch

(int

*p,int n,

int x)

;int

main

(void);

int x, m;

scanf

("%d"

,&x)

;

m =bsearch

(a,10

, x);if

(m >=0)

printf

("index is %d\n"

,m);

else

printf

("not found\n");

return0;

}

/* 請在這裡填寫答案 */

輸入樣例:

輸出樣例:

index is 7

int

bsearch

(int

*p,int n,

int x)

if(p[mid]

> x)

else

if(p[mid]

< x)

}return-1

;}

6 4 查詢星期(15 分)

6 4 查詢星期 15 分 本題要求實現函式,可以根據下表查詢到星期,返回對應的序號。序號星期 0sunday 1monday 2tuesday 3wednesday 4thursday 5friday 6saturday int getindex char s 函式getindex應返回字串s序號...

迭代二分查詢二分查詢

在寫這篇文章之前,已經寫過了幾篇關於改迭代二分查詢主題的文章,想要了解的朋友可以去翻一下之前的文章 bentley在他的著作 writing correct programs 中寫道,90 的計算機專家不能在2小時內寫出完整確正的二分搜尋演算法。難怪有人說,二分查詢道理單簡,甚至小學生都能明確。不過...

1128 二分 二分查詢

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述nettle最近在玩 艦 因此nettle收集了很多很多的船 這裡我們假設nettle氪了很多金,開了無數個船位 去除掉重複的船之後,還剩下n 1 n 1,000,000 種不同的船。每一艘船有乙個稀有值,任意兩艘船的稀有...