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

查找某数值元素是否存在的c语言

发布时间: 2022-09-23 03:28:53

‘壹’ 给定一个数组,数组内容随机,键盘输入一个数据(数字和单字符),查询是否存在此数据 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语言

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;

}

‘叁’ 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("输入个数: ");

scanf("%d",&n);

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

scanf("%d", &a[i]);

printf("输入x: ");

scanf("%d", &x);

index = search( a, n, x );

if( index != -1 )

printf("index = %d ", index);

else

printf("Not found ");

return 0;

}

int search( int list[], int n, int x ){

int i;

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

if(x==list[i])

return i;

}

return -1;

}

(3)查找某数值元素是否存在的c语言扩展阅读:

数组使用规则:

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函数逐个对数组元素赋值。

网络-数组

‘肆’ 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语言在数组中查找是否存在该数,若存在则显示其所在的数组下标位置,否则显示NOEXIST

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

‘陆’ 如何用c语言编写查询数组中的元素

对于数组的查询,其实就是对数组中数据做一个遍历。

最常用的方法就是通过循环对数组中的元素逐个取值,并与参考值(要查询的值)做比对,并处理结果。

下面是一个简单的对一维数组进行查询的样例。

函数功能:对输入的数组元素进行查询,打印符合查询值的元素位置,并返回查询到的元素总数。

函数名:array_query

函数声明: int array_query(int *a, int n, int v);

参数介绍:

a: 输入的数组,类型为整型指针,表示整型数组。可以根据实际需要进行调整。

n:数组中现有元素的个数。

v:要查询的元素值。

返回值:

整型,返回查询到的元素个数。如果出错返回-1。

实现代码:

intarray_query(int*a,intn,intv)
{
inti,ret;

if(a==NULL||n<=0)return-1;//出错处理
for(ret=i=0;i<n;i++)
{
if(a[i]==n)
{
printf("%d ",i);//找到元素,打印下标,并累计统计值
ret++;
}
}

returnret;//返回总数。
}

‘柒’ 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语言,查找数组中是否存在某个数

从题目的叙述来看,这个函数的功能就是这一个包含有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、打开pycharm,新建Test_List.py,如图所示。

‘拾’ C语言查询数据是否存在

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
voidmax_age();
voidsave();
voidfind_name();
voidread();
inti=0;
structBaby
{
intnum;
charname[20];
charsex;
intage;
intheight;
intweight;
}baby[3];
voidmain()
{
for(i=0;i<3;i++)
{
printf("输入第%d个baby信息: ",i+1);
printf("NumNameSexAgeHeightWeight ");
scanf_s("%d%s%c%d%d%d",&baby[i].num,baby[i].name,&baby[i].sex,&baby[i].age,&baby[i].height,&baby[i].weight);
}
max_age();
save();
find_name();
read();
}

voidmax_age()
{
int*p1,*p2,*p3;
p1=&baby[0].age;
p2=&baby[1].age;
p3=&baby[2].age;
if(*p1>*p2&&*p1>*p3)printf("年龄最大的baby是:%s ",&baby[0].name);
if(*p2>*p1&&*p2>*p3)printf("年龄最大的baby是:%s ",&baby[1].name);
if(*p3>*p1&&*p3>*p2)printf("年龄最大的baby是:%s ",&baby[2].name);
}

voidsave()
{
FILE*fp;
if((fp=fopen("E:\baby_info.txt","wb"))==NULL)
printf("文件打开失败 ");
for(i=0;i<3;i++)
if(fwrite(&baby[i],sizeof(structBaby),1,fp)!=1)
printf("输入错误 ");
fclose(fp);
}

voidfind_name()
{
charfname[20];
char*p4,*p5,*p6;
p4=baby[0].name;
p5=baby[1].name;
p6=baby[2].name;
printf("输入要查找的baby的名字: ");
scanf("%s",&fname[20]);
for(i=0;i<3;i++)
{
if(strcmp(fname,baby[i].name))
{
printf("%d%s%c%d%d%d",baby[i].num,baby[i].name,baby[i].sex,baby[i].age,baby[i].height,baby[i].weight);
return;
}
}
printf("你查找的baby不存在");
}

scanf_s()那个可能是编译器问题,在你那边可能不需要,
fopen()你自己查查吧,,