C语言线性查找法,C语言线性查找{2,4}
#包含stdio.h
#定义数字10
#定义失败-1
int search(const int v[],int value,int n) {
int I=0;
while (true) {
if (i==n) {
退货失败;
} else if (v[i]==value) {
返回I;
}
我;
}
}
int main (void) {
int i,value,key
int num[数字];
for(I=0;我数;i ) {
printf(num[%d]:,I);
scanf(%d ,num[I]);
}
Printf(要查找的值:);
scanf(%d ,值);
key=search(num,value,NUMBER);
if(key==FAILED) {
Puts(查找失败。);
}否则{
Printf(%d 是数组的%d元素。\n ,值,键1);
}
返回0;
}运行结果:
我们在搜索函数中添加两行代码,打印出搜索函数搜索的过程。
#包含stdio.h
#定义数字10
#定义失败-1
int search(const int v[],int value,int n) {
int I=0;
while (true) {
if (i==n) {
退货失败;
} else if (v[i]==value) {
printf(v[i]=%d==%d\n ,v[i],value);
//打印查找过程
返回I;
}
printf(v[i]=%d!=%d\n ,v[i],value);
//打印查找过程
我;
}
}
int main (void) {
int i,value,key
int num[数字];
for(I=0;我数;i ) {
printf(num[%d]:,I);
scanf(%d ,num[I]);
}
Printf(要查找的值:);
scanf(%d ,值);
key=search(num,value,NUMBER);
if(key==FAILED) {
puts( \查找失败。);
}否则{
Printf(%d 是数组的%d元素。\n ,值,键1);
}
返回0;
}运行结果:
search函数遍历传入的int类型的数组,并依次找出是否有与value相同的元素。如果是,则返回数组元素的下标。否则,它返回失败,即-1。
搜索函数中while语句的控制表达式为真,所以只有在执行return语句时才能跳出循环,否则循环体会被重复执行。
总结:
当满足下列任一条件时,可以跳出while语句。
找不到你要找的值,最后跳出循环(当i==n成立)找到你要找的值(当v[i]==value成立)
转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。