fork download
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. int T[5] = {2, 7, 12, 43, 60};
  6. int low = 0, high = 4;
  7. int mid;
  8. int key = 7;
  9. int location = -1;
  10.  
  11. printf("输入的5个数字为:\n");
  12.  
  13. for(int i = 0; i < 5; i++)
  14. {
  15. printf("%d ", T[i]);
  16. }
  17.  
  18. printf("\n查找关键字:%d\n", key);
  19.  
  20. while(low <= high)
  21. {
  22. mid = (low + high) / 2;
  23.  
  24. if(T[mid] == key)
  25. {
  26. location = mid + 1;
  27. break;
  28. }
  29. else if(T[mid] > key)
  30. {
  31. high = mid - 1;
  32. }
  33. else
  34. {
  35. low = mid + 1;
  36. }
  37. }
  38.  
  39. if(location != -1)
  40. printf("关键字的位置是:%d\n", location);
  41. else
  42. printf("查找失败!\n");
  43.  
  44. return 0;
  45. }
  46.  
Success #stdin #stdout 0.01s 5328KB
stdin
Standard input is empty
stdout
输入的5个数字为:
2 7 12 43 60 
查找关键字:7
关键字的位置是:2