int main() { int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; int k = 0; printf("请输入你需要查找的数字\n"); scanf("%d", &k); int sz = sizeof(arr) / sizeof(arr[0]); int left = 0;//左下标 int right = sz - 1;//右下标 while (left <= right) { int mid = (left + right) / 2;//中间元素下标;mid = left+(right-left)/2 if (arr[mid] < k) { left = mid + 1; } else if (arr[mid] > k) { right = mid - 1; } else { printf("找到了下标是:%d", mid); break; } if (left > right) printf("不存在该数字\n"); } return 0; }修改代码中的错误
时间: 2024-01-15 19:02:36 浏览: 29
代码中并没有明显的错误,只有一处不规范之处,即缺少了 else 语句。当找到目标元素时应该及时退出循环,避免继续执行不必要的比较操作。修改后的代码如下:
```
int main() {
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int k = 0;
printf("请输入你需要查找的数字\n");
scanf("%d", &k);
int sz = sizeof(arr) / sizeof(arr[0]);
int left = 0;//左下标
int right = sz - 1;//右下标
while (left <= right) {
int mid = (left + right) / 2;//中间元素下标;mid = left+(right-left)/2
if (arr[mid] < k) {
left = mid + 1;
}
else if (arr[mid] > k) {
right = mid - 1;
}
else {
printf("找到了下标是:%d\n", mid);
break;
}
}
if (left > right)
printf("不存在该数字\n");
return 0;
}
```
相关问题
c语言已知int arr1[]={1,3,5,7,9}; int arr2[]={2,4,6,8,10};交换两个数组的值并显示出来。
以下是交换两个数组的值并显示的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int arr1[] = {1, 3, 5, 7, 9};
int arr2[] = {2, 4, 6, 8, 10};
int temp;
int i;
for (i = 0; i < 5; i++) {
temp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = temp;
}
printf("arr1: ");
for (i = 0; i < 5; i++) {
printf("%d ", arr1[i]);
}
printf("\n");
printf("arr2: ");
for (i = 0; i < 5; i++) {
printf("%d ", arr2[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
arr1: 2 4 6 8 10
arr2: 1 3 5 7 9
```
int arr[] = { 0,1,2,3,4,6,7,9,8};打印C语言
您好!该题目可以使用for循环遍历数组,并使用printf函数打印数组元素。代码如下:
```c
#include <stdio.h>
int main() {
int arr[] = { 0,1,2,3,4,6,7,9,8};
int len = sizeof(arr) / sizeof(arr); // 获取数组长度
for (int i = 0; i < len; i++) { // 遍历数组
printf("%d ", arr[i]); // 打印数组元素
}
return 0;
}
```
输出结果为:0 1 2 3 4 6 7 9 8。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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)