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; }