由键盘任意输入10个整形数据(数据有序,利用折半查找),再输入1个整形数据,查找此数据是否存在;如果存在,输出其位置的C语言程序
时间: 2023-06-09 08:08:36 浏览: 69
好的,您的问题很清晰明确。以下是解答:
```c
#include<stdio.h>
#define MAX_SIZE 10
int binarySearch(int arr[], int size, int num){
int left = 0;
int right = size - 1;
int mid;
while(left <= right){
mid = (left + right)/2;
if(arr[mid] == num){
return mid;
}
else if(num > arr[mid]){
left = mid + 1;
}
else{
right = mid - 1;
}
}
return -1;
}
int main(){
int arr[MAX_SIZE];
int num, pos;
printf("请输入有序整形数组,共10个数:\n");
for(int i=0; i<MAX_SIZE; i++){
scanf("%d", &arr[i]);
}
printf("请输入要查找的整形数:\n");
scanf("%d", &num);
pos = binarySearch(arr, MAX_SIZE, num);
if(pos == -1){
printf("未找到该整数\n");
}
else{
printf("该整数在数组的第 %d 个位置\n", pos+1);
}
return 0;
}
```
以上是根据您的要求编写的C语言程序,可实现由键盘任意输入10个整形数据(数据有序,利用折半查找),再输入1个整形数据,查找此数据是否存在。如果存在,输出其位置,如果不存在,则提示未找到。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)