#include<stdio.h>
#include<stdlib.h>
#define M 10
int main(){
int a[M];
srand((unsigned)time(NULL));//随机数时钟种子
printf("生成随机数组:\n");
for(int i=0;i<M;i++){
a[i]=rand()%100;
printf("%d ",a[i]);
}
printf("\n排序后为\n");//冒泡排序
for(int j=0;j<M-1;j++){
for(int i=0;i<M-j-1;i++){
if(a[i] > a[i + 1]){
int temp = a[i];
a[i] = a[i + 1];
a[i+1]=temp;
}
}
}
for(int i=0;i<M;i++){
printf("%d ",a[i]);
}
int low,mid,high,n,found;
low=0;
high=M-1;
found=0;
printf("查找:");
scanf("%d",&n);
while(low<=high){//二分法查找
mid=(low+high)/2;
if(a[mid]==n){
found=1;
break;
}
else if(a[mid]>n){
high=mid-1;
}
else{
low=mid+1;
}
}
if(found==1){
printf("查找成功,位于第%d位",mid+1);
}
else{
printf("查找失败,没有%d这个值",n);
}
return 0;
}