Task: Read N and update largest and secondLargest as you iterate. Handle duplicates and the case N < 2 gracefully (second distinct largest may not exist).
#include <stdio.h>
#include <limits.h>
int main(void) {
int N, x;
int largest, second;
int second_set = 0;
printf("Enter N (>=1): ");
if (scanf("%d", &N) != 1 || N <= 0) { printf("Invalid N.\n"); return 0; }
printf("Enter element 1: ");
scanf("%d", &largest);
for (int i = 2; i <= N; ++i) {
printf("Enter element %d: ", i);
scanf("%d", &x);
if (x > largest) {
second = largest; second_set = 1;
largest = x;
} else if (x != largest) {
if (!second_set || x > second) { second = x; second_set = 1; }
}
}
printf("Largest = %d\n", largest);
if (second_set) printf("Second largest (distinct) = %d\n", second);
else printf("No second distinct largest (all values equal)\n");
return 0;
}