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