#include<stdio.h>
#define N 10
int main(void)
{
void select_sort(int *a);
void arry_print(int *a);
void search(int *a,int n);
int i,number;
int a[N];
printf("Enter matrix:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("Before sort:\n");
arry_print(a);
printf("After sort:\n");
select_sort(a);
arry_print(a);
printf("Enter the number you look for:\n");
scanf("%d",&number);
search(a,number);
return 0;
}
void select_sort(int *a)
{
int i,j,min,t;
for(i=0;i<N-1;i++)
{
min=i;
for(j=i+1;j<N;j++)
if(a[min]>a[j])
min=j;
if(min!=i)
{
t=a[i];
a[i]=a[min];
a[min]=t;
}
}
}
void arry_print(int *a)
{
for(int i=0;i<N;i++)
printf("%d\t",a[i]);
}
void search(int *a,int n)
{
int top=0,bott=N-1,mid;
int i,j,k,loca,flag=0;
if(n<a[0]||n>a[N-1])
printf("Cannot find %d.\n",n);
while((!flag)&&(top<=bott))
{
mid=(top+bott)/2;
if(n==a[mid])
{
loca=mid;
printf("Has found %d,it positon is %d .\n",n,loca+1);
flag=1;
}
else if(n<a[mid])
bott=mid-1;
else
top=mid+1;
}
}