在数组中查找指定的数。
发布网友
发布时间:2022-07-11 00:21
我来回答
共3个回答
热心网友
时间:2022-07-11 18:16
#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);
}
上面是拆半查找
热心网友
时间:2022-07-11 18:17
int arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};//假设这是你输入的数
int nFind = 4;//要查找的数填这里
for(int i = 0; i < 10; i++)
{
if(arr[i] == nFind )
cout << "这是第" << i << "个数!" << endl;
}
热心网友
时间:2022-07-11 18:17
写一个循环就行了吧!定义个int 变量flag
for()