查找某元素

主导思想是不等于该元素就继续循环,等于该元素,代表找到了就终止

#include<stdio.h>

main()
{
int i,j,k,n,a[20];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&k);
for(i=0;i<n;i++)   //a[n-1]是数组的最后一个元素
if(a[i]==k)
break;
if(i<n)
printf("a[%d]=%d\n",i,k);
else
printf("Not found\n");
/*if(i>=n)
printf("Not found\n");
else
printf("a[%d]=%d\n",i,k);*/
}
=======================================================
#include<stdio.h>
main()
{
int i,j,k,n,a[20];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&k);
i=0;
while(k!=a[i]&&i<n)
{
i++;
}
if(i<n)
printf("a[%d]=%d",i,k);
else
printf("Not found\n");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用数组的 indexOf 方法来查找元素值,并返回它的位置。例如,如果你要查找数组 arr 中元素值为 val 的位置,可以使用以下代码: var index = arr.indexOf(val); 如果元素值 val 存在于数组 arr 中,则 index 将返回该元素在数组中的位置,否则返回 -1。 ### 回答2: 要查找元素值并返回它的位置,可以使用以下方法: 1. 遍历整个列表或数组,逐个比较每个元素的值,直到找到目标元素。在找到目标元素时,记录下它的位置。 2. 如果列表或数组是有序的,可以采用二分查找法。首先比较中间元素的值与目标值的大小关系,如果相等,则返回该位置;如果目标值小于中间元素的值,则在前半部分继续二分查找;如果目标值大于中间元素的值,则在后半部分继续二分查找。重复这个过程,直到找到目标元素。 3. 如果列表或数组是散列的,可以采用散列函数来计算目标元素的位置。散列函数将目标元素的值转换为一个位置索引,然后在该位置索引处查找目标元素。如果在该位置处找到了目标元素,则返回该位置;如果该位置处没有目标元素,则继续根据散列函数计算下一个位置索引,重复这个过程,直到找到目标元素或者确定没有该元素。 以上是常用的几种查找元素值并返回位置的方法,具体选择哪种方法需要根据实际情况来确定。 ### 回答3: 在查找元素值并返回其位置的情况下,可以使用线性搜索算法。该算法从序列的第一个元素开始逐个比较,直到找到目标元素或搜索结束。以下是使用线性搜索算法查找元素值并返回位置的步骤: 1. 初始化变量"位置"为-1,用于记录目标元素的位置。 2. 从序列的第一个元素开始,与目标元素进行比较。 3. 如果当前元素与目标元素相等,将"位置"变量设为当前元素所在的位置,然后停止搜索。 4. 如果当前元素与目标元素不相等,继续搜索下一个元素。 5. 如果搜索结束时"位置"仍为-1,则表示目标元素不存在于序列中。 例如,我们要在数组[5, 2, 7, 9, 1]中查找元素值为7的位置,可以按照上述步骤进行操作: 1. 初始化"位置"为-1。 2. 从第一个元素开始,比较5和目标值7,不相等。 3. 比较2和目标值7,不相等。 4. 比较7和目标值7,相等。将"位置"变量设为3,停止搜索。 5. 返回位置3,表示目标元素7在数组中的位置。 使用线性搜索算法可以解决简单的查找问题,但如果序列较大,效率会比较低下。在这种情况下,可以考虑使用更高效的搜索算法,如二分查找等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值