QUESTION
Write a c program to implement Binary Search.\n\nInput:\nFirst line of the input is the number of elements\nFrom Second line of the input elements of the list\nThe element to be searched is in last line \nRefer the TestCases for the input and output format.
“TESTCASE_1”: “4\n11 22 33 44\n22\n###—###SEPERATOR—###—\n22 found at location 2”, “TESTCASE_2”: “5\n11 22 33 44 55\n10\n###—###SEPERATOR—###—\nNot found”, “TESTCASE_3”: “6\n11 22 33 44 55 66\n55\n###—###SEPERATOR—###—\n55 found at location 5”, “TESTCASE_4”: “7\n1 2 3 4 5 6 7\n16\n###—###SEPERATOR—###—\nNot found”, “TESTCASE_5”: “0\n###—###SEPERATOR—###—\n0
ANSWER
#include <stdio.h>
int main()
{
int c, first, last, middle, n, search, array[100];
scanf("%d",&n);
for (c = 0; c < n; c++)
scanf("%d",&array[c]);
scanf("%d", &search);
first = 0;
last = n - 1;
middle = (first+last)/2;
while (first <= last) {
if (array[middle] < search)
first = middle + 1;
else if (array[middle] == search) {
printf("%d found at location %d", search, middle+1);
break;
}
else
last = middle - 1;
middle = (first + last)/2;
}
if (first > last)
printf("Not found");
return 0;
}