
正文
c语言数组中查找的函数 c语言怎么查找数组中的一个数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言题目:在数组中查找指定元素
#include stdio.h
#define MAXN 10
int search( int list[], int n, int x );
int main()
{
int i, index, n, x;
int a[MAXN];
printf("输入个数:\n");
scanf("%d",n);
for( i = 0; i n; i++ )
scanf("%d", a[i]);
printf("输入x:\n");
scanf("%d", x);
index = search( a, n, x );
if( index != -1 )
printf("index = %d\n", index);
else
printf("Not found\n");
return 0;
}
int search( int list[], int n, int x ){
int i;
for(i=0;in;i++){
if(x==list[i])
return i;
}
return -1;
}
扩展资料:
数组使用规则:
1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。
3.如不给可初始化的数组赋初值,则全部元素均为0值。
4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。
参考资料:
百度百科-数组
相关问答
Q1: C语言数组的查找函数
#includestdio.h
int main()
{
int a[5];
int i,max,min;
printf("input number:\n");
for(i=0;i5;i++)
scanf("%d",a[i]);
max=a[0];
min=a[0];
for(i=0;i5;i++){
if(a[i]max)
max=a[i];
}
for(i=0;i5;i++){
if(a[i]min)
min=a[i];
}
for(i=0;i5;i++){
printf("%d",a[i]);
printf(" ");
}
printf("\n");
printf("最大值为%d\n",max);
printf("最小值为%d\n",min);
return 0;
}
Q2: C语言题要求实现一个在数组中查找指定元素的简单函数。(找错误)
改错参考如下:
int search(int list[],int n,int x)
{
int i,index=-1;
for(i=0;in;i++)
if(list[i]==x){//注意是==
index=i;//既然都明白下标从0开始,有必要+1吗?
break;
}
return index;//不返回值行吗?
}
Q3: c语言,查找数组中是否存在某个数?
从题目c语言数组中查找的函数的叙述来看c语言数组中查找的函数,这个函数的功能就是这一个包含有len个元素的num数组中查找是否存在值为key的元素。可以在找到后返回该元素的下标,否则返回-1。
这个函数的函数体可以这么写:
int i;
for(i=0;ilen;i++)
if(num[i]==key)return i;
return -1;
然后在主函数中的查找语句可以这么写:
if(searchNum(key,num,len)!=-1)
printf("找到!\n");
Q4: C语言 用指针编写在数组中查找指定值指针的函数
不用万分感谢c语言数组中查找的函数,只要十分感谢即可。
对于函数c语言数组中查找的函数:int* find(int a[], int value),其中a为整型数组首地址,value是被检验值。我们可以利用指针a间接引用数组第一个元素的值,并将其与value比较,比较完后,将指针向后移动,再通过间接引用的方式比较下一个元素值,依次下去,直到在整型数组中找到被检验值或者整型数组所有元素比较结束为止。
那么这里有个问题,我们如何通过指针知到整型数组什么时候结束呢?对于整型数组而言,没有办法,所以我们必须先知道整型数组的长度,可以在参数中给出,也可以在主函数定义中知晓。
程序如下:
int* find(int a[], int value)
{
int i=0,*p=a;
for(i=0;i=9;i++)
{
if(*p==value)
return p;
else
p++;
}
if(i=10)
return 0;
}
main()
{
int c[10]={1,2,3,4,5,6,7,8,9,0};
int n;
scanf("%d",n);
printf("%x %d",find(c,n),*(find(c,n)));/*第一个为函数返回地址,第二个为函数返回地址里的值*/
getch();
}
另外,我们测试一个程序或者函数是否正确不在于其能否正确运行,而在于其运行的结果是否符合我们的预期。针对上述程序,测试方法如下:
输入任意一个数,如果这个数在数组C内,看是否能够打印出16进制的地址数和与输入值相同的数;如果不在数组C内,看是否返回值为0的地址。
Q5: C语言实现整型数组中查找指定元素的函数?
#includestdio.h
int search(int a[], int n, int searchValue) {
int i;
for(i=0; in; i++) if(a[i]==searchValue) return i;
return -1;
}
int main() {
int i;
int a[10],find,idx;
for(i=0; i10; i++) {
printf("Input a[%d]:",i);
scanf("%d",a[i]);
}
printf("Input searchValue:");
scanf("%d",find);
idx=search(a,10,find);
if(idx!=-1) printf("pos=%d",idx);
else printf("not found");
}
c语言数组中查找的函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言怎么查找数组中的一个数、c语言数组中查找的函数的信息别忘了在本站进行查找喔。







