I guess I should've tested it. We don't want the lastDiff, but instead the smallestDiff !
Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define SIZE 10
int main(void) {
int num[SIZE], i, closestNum;
double avg = 0, diff, smallestDiff;
printf("Enter %d integer values:\n", SIZE);
for (i = 0; i < SIZE; i++){
scanf("%d", &num[i]);
avg += num[i];
}
avg /= (double)SIZE;
closestNum = num[0];
smallestDiff = avg - num[0];
for (i = 1; i < SIZE; i++) {
diff = fabs(avg - num[i]);
if (diff < smallestDiff) {
closestNum = num[i];
smallestDiff = diff;
}
}
printf(" %f %d\n", avg, closestNum);
return 0;
}