1.在一个固定数组中查找这个数是否存在
(1)顺序查找
#include <stdio.h>
int main() {
int i,n,array[10]={1,2,3,4,5,6,7,8,9,10};
scanf("%d",&n);
for(i=0;i<10;i++){
if(array[i]==n){
printf("第%d个\n",i+1);
return 0;
}
}
printf("无此数");
}
(2)折半查找
#include <stdio.h>
int main() {
int i,n,top=0,mid,bott=9,array[10]={1,2,3,4,5,6,7,8,9,10};
scanf("%d",&n);
for(i=0;i<10;i++){
mid=(top+bott)/2;
if(array[mid]==n){
printf("在第%d个位置",mid+1);
return 0;
}
if(array[mid]>n){
bott=mid-1;
}
if(array[mid]<n){
top=mid+1;
}
}
printf("无此数");
}