fork download
  1. #include <stdio.h>
  2. #define MAX 100
  3.  
  4. int main(void) {
  5. int n, target;
  6. int data[MAX];
  7. int i, closest_index = 0;
  8. int min_diff, diff;
  9. scanf("%d", &n);
  10.  
  11. for (i = 0; i < n; i++) {
  12. scanf("%d", &data[i]);
  13. }
  14.  
  15. scanf("%d", &target);
  16.  
  17. diff = data[0] - target;
  18. if (diff < 0) diff = -diff;
  19. min_diff = diff;
  20.  
  21.  
  22. for (i = 1; i < n; i++) {
  23. diff = data[i] - target;
  24. if (diff < 0) diff = -diff;
  25.  
  26. if (diff < min_diff) {
  27. min_diff = diff;
  28. closest_index = i;
  29. }
  30. }
  31.  
  32. printf("%d番目の値がもっとも近い\n", closest_index + 1);
  33.  
  34. return 0;
  35. }
Success #stdin #stdout 0.01s 5304KB
stdin
10
120 220 90 450 50 73 96 83 25 18
300
stdout
2番目の値がもっとも近い