编写一个函数,在一数组array[ ]中查找一个数x,若找到,则返回其序号(
#include <stdio.h>
#include <stdlib.h>
int search (int array[],int n,int x)/*第一个参数是数组名,第二个参数是要遍历多少元素,第三个参数是要查找的值*/
{
int i = 0;
while(i<=n)/*遍历的次数要小于设定的值(第二个参数)*/
{
if(array[i] == x)/*找到了符合条件的值*/
{
return (i+1);/*因为数组下标是从0开始的,而你需要的序列从1开始,所以+1*/
}
else
{
i++;/*继续循环*/
}
}
return -1;/*全部遍历完了没找到,返回-1*/
}
int main()
{
int a[4] = {0,3,15,68};
int b = search(a,4,68);/*查找68这个值*/
printf("%d\n",b);/*输出所在的序列,没有返回-1*/
system("pause");
return 0;
}
运行结果:
/*是什么意思?
注释
void main(){
int search (int array[ ],int n,int x){
int i;
for(i=0;i<=sizeof(array)/sizeof(array[0]);i++)
if(array[i]==x){
n = i +1;
}else{
n=-1
}
}
reurn n;
}
{int i;
for(i=0;i<n;i++)
if(array[i]==x)return (i+1);
return -1;
}