C言語
#include <stdio.h>
#define N 10
int main(void)
{
int d[N];
// データ作成(1からNまでを格納)
for(int i = 0; i < N; i++){
d[i] = i + 1;
printf("%3d ", d[i]);
}
printf("\n");
// キーを設定
int key;
printf("キーを入力:");
scanf("%d", &key);
// 二分探索
int left = 0, right = N - 1;
int flag = 0;
do{
int m = (left + right) / 2;
if(key == d[m]){
flag = 1;
}else if(key < d[m]){
right = m - 1;
}else{
left = m + 1;
}
}while(flag != 1 && left <= right);
if(flag == 1){
printf("%dは見つかった\n", key);
}else{
printf("%dは見つからない\n", key);
}
return 0;
}