求解,不知道哪里出错了。
采用选择法对15个整数排序,排序完成后各整数按照从大到小的顺序排列。排序完成后输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。
#include <stdio.h>
void order(int ar[],int n);
void check(int ar[],int b);
void main()
{
int a[15];
int b,i;
for(i= 0; i<15 ; i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&b);
order(a,15);
check(a,b);
}
void order(int ar[],int n)
{
int i,j,index,temp,count=0;
for(i=0; i<n-1; i++)
{
index=i;
for(j=i+1;j<n;j++)
{
if(ar[index]>ar[j])
index = j;
temp = ar[index];
ar[index] =ar[j];
ar[j] =temp;
}
}
}
void check(int ar[],int b)
{
int i;
for(i=0; i<15; i++)
{
if(ar[i]==b)
{
printf("%d\n",i+1);
break;
}
}
for(i=0; i<15; i++)
{
if(ar[i]!=b) continue;
}
printf("wucishu!\n");
}