C语言编程,判断一个数是否存在于一个数组中

如题所述

#define _CRT_SECURE_NO_DEPRECATE
#include<stdio.h>
#include<malloc.h>
#include<time.h>
#include<stdlib.h>

int findarray(int*p,int len,int val);

int main(void)
{
int len; //数组中元素个数
int i=0; //数组元素下标
int val; //要搜索的数
printf("请为一个随机数数组设定元素个数len=");
scanf("%d", &len);
int*p = (int*)malloc(sizeof(int)*(len+1));
for (i = 0; i < len;++i)
{
p[i]=rand()%101; //0到100的随机数
}
printf("已为你生成随机数组为:\n");
for (i = 0; i < len; ++i)
{
printf("%d ", p[i]);
}
printf("\n");

printf("请输入你要搜索的数val=");
scanf("%d", &val);

if (findarray(p, len, val) == len)
printf("数组中无此元素");
else
printf("数组中有这个元素,在第%d个位置", findarray(p, len, val) + 1);

getchar();
getchar();
return 0;
}

int findarray(int*p, int len,int val)
{
p[len] = val;
for (int i = 0; p[i] != val; ++i)
{
if (p[i] == val)
return i;
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
int tmp,i;
int x=9;//要找的数。。。
int flag=0;
int array[1000];
//array 赋值........
for(i=0; i<1000; i++)
{
if(x==array[i])

{

flag=1;

break;

}

}
if(flag)
printf("在数组中\n");

else
printf("不在数组中\n");

写成一个函数吧!在的话返回1,不在返回0
int IsInArray( int* array, int n, int x)
{
int i;

int flag=0;

for(i=0; i<n; i++)
{
if(x==array[i])

{

flag=1;

break;

}

}
return(flag);

}本回答被网友采纳
第2个回答  2014-06-18
bool fun(array[]){
for(i=0;i<array.length;i++){
if(a==array[i])
return ture;
else return false;}}
array为数组长度,如果为二位数据可以采用双层循环
希望采纳,谢谢
第3个回答  2014-06-18
一个一个查找数组元素,看有没有相等的就好了追问

大神,能说一下编程代码?

追答

给具体的题目吧,,,,

追问

(1,-6,4)和(5,-1/2,6)之间的距离

追答

两个点之间的距离???没看懂,你看看楼下的回答是你要的不

C语言编程,判断一个数是否存在于一个数组中
int len; \/\/数组中元素个数 int i=0; \/\/数组元素下标 int val; \/\/要搜索的数 printf("请为一个随机数数组设定元素个数len=");scanf("%d", &len);int*p = (int*)malloc(sizeof(int)*(len+1));for (i = 0; i < len;++i){ p[i]=rand()%101; \/\/0到100的随机数 }...

c语言中如何判断一数是否在一已知数组中?有没有这样的函数
int mysearch(int *a, int len, int key)\/\/a为数组名,len为数组长度,key为要判断的数,如果存在,返回下标,否则返回-1 { int i;for (i=0;i<len;i++){ if (a[i]==key) return i;} return -1;}

判断一个数是否是数组中的成员,用C语言如何编程?
findelem()就是查找函数,查找输入的参数x在数组array的位置,函数返回元素在array中的单元下标 sort()是排序函数,用冒泡排序的方法将数组array从小到大排序 算法思路:(1)输入数组 (2)对数组进行排序 (3)调用findelem()进行查找,若查找元素比数组单元的值大则判断下一单元,直到x大于等于当前数...

用c语言编写从键盘输入一个数,判断是否在数组a里(1~10的整数)
printf("%d不在数组里\\n",data);}

判断一个浮点数是否在一个浮点型数组中(用C语言编程)
for (i=0;i<10;i++){ if (x!=a[i])t=0;\/*如果不在则为0*\/ else { t=1;break;\/*如果在就退出,无须再判断*\/ } } if (t)\/*如果T不为0,则在数组中*\/ printf("%f在数组元素中!\\n",x);else printf("%f不在数组元素中!\\n",x);} 如果还不理解可以发消息给我!

c语言:输入一个数,然后确定它在一个数组中第一次出现的位置,如果没有则...
C语言程序:include <stdio.h>\/* 查找key在数组arr中是否存在,若存在,返回第一次出现的位置,否则输出-1 *\/int find(int arr[], int n, int key){int i;for(i=0; i<n; i++)if(arr[i] == key)return i;return -1;}void main(){int arr[] = {49, 38, 65, 97, 76, 13...

C语言:在十个元素的数组中,判断某数是否存在。
int 数组[]={1,2,3,4,5,6,7,8,9,0},序(0);do{scanf_s("%d",&整数);if(整数==数组[序++]){printf("存在元素%d:",整数);break;}}while(序<10);printf("不存在元素%d:",整数);以上手写原理未运行,如果运行有问题再说。

c语言中如何判断一个正整数是否只由同一个数组成?
只要把这个数的每一位数字分离出来的,并且保存到一个数组中,对相应的数值出现的次数进行统计次数。到分离完成的时候统计,出现次数大于零的数有几个就可以了。

(C++) 给出一个整数m,查找m是否存在数组a中,如果存在则删除,否则将m插 ...
代码思路:题目要求找出a中的一个元素,有则删除,无则插入,其实我们可以在输入数组a的元素的时候就可以进行判断和操作。C语言版本代码示例:include <stdio.h> int main(){ int a[100];int n, m;scanf("%d %d", &n, &m);int flag = 0; \/\/ flag=0时为初始状态(无任何插入删除操作)...

c语言,设有一个整型数组,另输入一个整数,编程查找这个整数是否在数组...
你这个程序显然有问题,首先题目要求输出第一次出现的位置,所以当你找到那个数字的时候应该终止寻找,要用到break函数就可以了。而当循环一遍都未找到时,i=10,所以你应该判断i与10的关系,当大于等于10输出nofound。 不明白i为什么要跟t比,这个没关系的 ...

相似回答