Task: Read N and an array, then a key; search sequentially and return index or -1 from a function. Print whether the key was found.
/* Linear search using a separate function; returns index (0-based) or -1. */
#include <stdio.h>
int linear_search(const int a[], int n, int key) {
for (int i = 0; i < n; ++i) {
if (a[i] == key) return i;
}
return -1;
}
int main(void) {
int N, key, idx;
int arr[200];
printf("Enter N (1..200): ");
if (scanf("%d", &N) != 1 || N <= 0 || N > 200) {
printf("Invalid N.\n"); return 0;
}
printf("Enter %d integers: ", N);
for (int i = 0; i < N; ++i) scanf("%d", &arr[i]);
printf("Enter key to search: ");
scanf("%d", &key);
idx = linear_search(arr, N, key);
if (idx == -1) printf("Key not found.\n");
else printf("Key found at index %d.\n", idx);
return 0;
}