|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
int main()
{
void qipao(int a[]);
void fen(int a[],int n,int high,int low);
int a[10],i;
printf("输入10个数字的数据库\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
qipao(a);
}
void qipao(int a[])
{
int e,j,t,n;
for(e=0;e<9;e++)
for(j=0;j<9-e;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(e=0;e<10;e++)
printf("%d ",a[e]);
printf("输入一个你想查找的数字\n");
scanf("%d",&n);
fen(a,n,9,0);
}
void fen(int a[],int n,int high,int low)
{
int mid,k;
while(low<=high)
{
mid=(high+low)/2;
if(a[mid]==n)
{
k=0;
break;
}
if(n<a[mid])
high=mid-1;
if(n>a[mid])
low=mid+1;
if(low>high)
{
k=1;
break;
}
}
if(k=1)
{
printf("查找不到此个数字,请查正后输入\n");
getchar();
scanf("%d",&n);
fen(a,n,9,0);
}
if(k=0)
printf("这个数字是第%d个数字,它为%d",mid,n);
}
文件末尾部分 if的条件写错啦
应该是 if (k==1) 和 if (k==0) 你少写了一个等号,把比较运算符写成赋值运算符了
|
|