08/01/29 02:21:02
>>733
#include <stdio.h>
#include <stdlib.h>
#define BUFFSIZE 32
#define ARRAYSIZE 256
int binary_search(int array[], int b, int e, int key)
{
int t = (e - b) / 2 + b;
if (array[t] == key) return t;
if (array[t] < key) return binary_search(array, t, e, key);
if (array[t] > key) return binary_search(array, b, t, key);
}
int main(void)
{
int array[ARRAYSIZE];
char buff[BUFFSIZE];
int i;
puts("Input Number(s).");
for (i = 0; i < ARRAYSIZE; ++i) { fgets(buff, BUFFSIZE, stdin); if (atoi(buff) == 0) break; array[i] = atoi(buff); }
printf("Input Number. :");
fgets(buff, BUFFSIZE, stdin);
printf("index: %d\n", binary_search(array, 0, i, atoi(buff)));
return 0;
}