#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int s[N] = {1,3,4,8,13,14,18,20,21,25};
void print_data (void); /* 配列のプリント */
int binary_search (int); /* 引数はintのキー。 見つけた場合の添え字を戻す。*/
int main(void) {
int x;
int i;
printf("探索キーを入力してください :");
scanf("%d", &x);
print_data();
i = binary_search(x); /* 検索せよ。戻り値をiに代入 */
/* iの値をチェック */
if (i == -1 ) /* 見つけていない */
printf("The element %d is not in s\n", x);
else
printf("%d is found in s[%d]\n", x,i);
return 0;
}
void print_data (void) {
int i;
for (i = 0; i < N ; i++)
printf("s[%d] = %d \n", i, s[i]);
}
/* binary_searchを自作しなさい */
int binary_search(int key) {
int low = 0 ; /* 上側 */
int high = N - 1; /* 下側 最後の要素(添え字)を初期値に */
int mid;
/* 手続き 疑似コードも参考に */
/* なぞり ←→ アルゴリズムとして言葉で整理 ←→ プログラムコード */
/* プログラムツールへ (見たら、かなりヒントになります) */
}