#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<stdlib.h>
int main() {
int arr[] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 };
int left = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
int right = sz - 1;
int choose = 0;
int key = 0;
int find = 0;
int mid = 0;
do {
int left = 0;
int right = sz - 1;
find = 0;
scanf("%d", &choose);
switch (choose) {
case 1:
scanf("%d", &key);
while (left <= right) {
mid = left + (right - left) / 2;
if (arr[mid] > key) {
right = mid - 1;
}
else if (arr[mid] < key) {
left = mid + 1;
}
else {
printf("I have found its underline %d\n", mid);
find = 1;
break;
}
}
if (find == 0) {
printf("No found\n");
}
break;
case 0:
printf("%d\n", 666);
break;
default:
printf("nono\n");
break;
}
}while (choose);
return 0;
}
小编今日自己学习了下数组的知识,并和上一个猜数字的代码进行了个结合,小试牛刀写了个可以多次查找数组中元素的位置的代码,并使用了对半找数的方法
395

被折叠的 条评论
为什么被折叠?



