当前位置:首页 » 编程语言 » c语言数组是否存在
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言数组是否存在

发布时间: 2022-05-18 17:13:26

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;
}
}

Ⅱ c语言在数组中查找是否存在该数,若存在则显示其所在的数组下标位置,否则显示NOEXIST

indx=search(a[N],m,N); \\这一行不知道有没有错,为什么不能写a[]
这句是错的,为什么? a[N]这里是取数组a的第N个数,search 第一个参数要传入的是个数组,a就是个数组呀。所以
改成 indx=search(a,m,N); 就可以了

Ⅲ C语言矩阵数组判断数是否存在

首先我没看到你初始化二维数组a[m][n],另外for语句的判断语句和条件语句写反了,应该是for(i
=
0;i
<
m;i++),你那种写法当然会一直循环。

Ⅳ C语言中是否存在多维数组

多维数组只是一种说法,其实只不过是特殊的一维数组而已。只是说,这个特殊的一维数组的每个元素的类型不是常规的int、float等这些基本类型。而是obj这些特殊的类型。

Ⅳ 给定一个数组,数组内容随机,键盘输入一个数据(数字和单字符),查询是否存在此数据 c语言代码怎么写



#include <stdio.h>

#include <stdlib.h>

#include <time.h>


#define N 50


int inarr(int a[],int n,int num) {

int i;

for(i = 0;i < n; ++i)

if(a[i] == num) return 1;

return 0;

}


void show(int a[],int n) {

int i;

for(i = 0; i < n; ++i) {

if(i && i % 10 == 0) printf(" ");

printf("%d ",a[i]);

}

if(i % 10) printf(" ");

printf(" ");

}


int main() {

int a[N],num,i,n;

printf("n = ");

scanf("%d",&n);

if(n < 1) n = N/5;

if(n > N) n = N;

printf("请输入%d个整数(空格隔开):",n);

for(i = 0; i < n; ++i) scanf("%d",&a[i]);

printf("数组清单: ");

show(a,n);

printf("请输入要查找的数:");

scanf("%d",&num);

if(inarr(a,n,num)) printf("找到了! ");

else printf("对不起,数组a[]中没找到%d ",num);

return 0;

}

Ⅵ c语言,查找数组中是否存在某个数

从题目的叙述来看,这个函数的功能就是这一个包含有len个元素的num数组中查找是否存在值为key的元素。可以在找到后返回该元素的下标,否则返回-1。
这个函数的函数体可以这么写:
int i;
for(i=0;i<len;i++)
if(num[i]==key)return i;
return -1;
然后在主函数中的查找语句可以这么写:
if(searchNum(key,num,len)!=-1)
printf("找到!\n");

Ⅶ C;语言一题:判断一个数是否存在数组中,若存在输出位置,若不存在,输出-1

#include <stdio.h>

int main()

{

int find = 0;

int pos = 0;

int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

printf("请输入要查找的数字:");

scanf("%d", &find);

printf("数组元素有:\n");

for (int i = 0; i < 10; i++)

{

printf("%d ", arr[i]);

if (arr[i] == find)

{

pos = i;

}

}

printf("\n");

if (pos == 0)

printf("(-1)没有该数字!\n");

else

printf("该数字在第%d位!\n", pos + 1);

return 0;

}

Ⅷ 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语言

bool find_elem(int *a, int len, int val)
{
int i = 0;

for (i = 0; i < len; ++i)

{
if (a[i] == val)

return true;

}

return false;

}