#include<stdio.h>
void main()
{
int flag=1,sign=0,top=0,btt=14,mid,s,weizhi=0,i;
int a[15];
char h;
printf(" 请输入15个数\n");
scanf("%d",&a[0]);
for(i=1;i<15;)
{
scanf("%d",&a
);
if(a>a[i-1])
i++;
else
printf("输入错误,请重新输入!!!\n");
}
for(i=0;i<15;i++)
printf("%d\n",a);
while(flag=1)
{
printf("请输入要查找的数\n");
scanf("%d",&s);
while(sign=0)
{
if(s<=a[btt]&&s>=a[top])
{
mid=(top+btt)/2;
if(s==a[mid])
{weizhi=mid+1;sign=1; printf("第%d个数\n",weizhi);flag=0;}
else if(s>a[mid])
top=mid+1;
else if(s<a[mid])
btt=mid-1;
}
}
if(sign=0)
{ printf("未找到,继续查找其它数字?Y/N\n");
scanf("%c",&h);
if(h=='N'||h=='n')
flag=0;
}
}
}
意思就是用折半查找法求输入的数是数组中的第几个指,我找了很久,就是找不到哪错了啊,谁能帮我看看,谢谢了啊