序列的中间数.c 708 B

123456789101112131415161718192021222324252627282930313233343536
  1. #include <stdio.h>
  2. int main() {
  3. int n;
  4. int i,j;
  5. scanf("%d", &n);
  6. // 创建数组存储输入的整数序列
  7. int arr[1000];
  8. for (i = 0; i < n; i++) {
  9. scanf("%d", &arr[i]);
  10. }
  11. // 计算中间数
  12. for (i = 0; i < n; i++) {
  13. int smaller = 0; // 小于arr[i]的数的个数
  14. int larger = 0; // 大于arr[i]的数的个数
  15. for (j = 0; j < n; j++) {
  16. if (arr[j] < arr[i]) {
  17. smaller++;
  18. } else if (arr[j] > arr[i]) {
  19. larger++;
  20. }
  21. }
  22. if (smaller == larger) {
  23. printf("%d\n", arr[i]);
  24. return 0;
  25. }
  26. }
  27. // 如果没有找到中间数
  28. printf("-1\n");
  29. return 0;
  30. }