#include <stdio.h>
void main()
{
/*在数组中查找是否存在数据x*/
int x,i,find=0;
int a[10]={6,8,2,9,3,4,5,10,7};
printf("输入要查找的数x: ");
scanf("%d",&x);
for(i=0;i<10;i++)
if(x==a[i])
{find=1;break;
}
if(find==1)
printf("%d是a[%d]元素\n",x,i);
else
printf("没有找到%d",x);
}
上面是顺序查找
#include<stdio.h>
void main()
{
/*用拆半查找法在一维有序数组查找指定书x。若找到,输出数组元素的下标;否则,输出提示信息“数组中无此数”。*/
float a[10],x;
int i,low,high,mid,find=0;
printf("请依次输入10个数组成元素值:\n");
for(i=0;i<10;i++)
scanf("%f",&a[i]);
printf("请输入你要查找的值:\n");
scanf("%f",&x);
low=0;high=9;
while(low<=high)
{
mid=(low+high)/2;
if(x<a[mid]) high=mid-1;
else if(x>a[mid]) low=mid+1;
else {find=1;break;}
}
if( find==1) printf("%d是a[%d]元素\n",x,mid);
else
printf(" 没找到数%d\n",x);
}
上面是拆半查找。