#include<stdio.h>
#include<math.h>
#include<string.h>
int main() {
int i,m, a[15],sign;
int high=15, low=1,mid=0;
printf("请输入15个数(由大到小):");//15 14 13 12 11 10 9 8 7 6 5 4 3 2 1//1 3 4 5 6 8 12 23 34 44 45 56 57 58 68
for (i = 0; i < 15; i++) {
scanf_s("%d", &a[i]);
}
printf("请输入需要查找的数:");
scanf_s("%d", &m);
while (low <= high) {
mid = (low+ high) / 2;
if (m==a[mid-1]) {
printf("%d在数组的%d个位置", m, mid);
sign = 1; break;
}
else if (a[mid-1] < m) {
low = mid + 1;
}
else
{
high = mid - 1;
}
}
if (sign != 1) {
printf("无法找到");
}
return 0;
}
有十五个数按大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。
最新推荐文章于 2023-01-11 15:15:27 发布