当前位置:首页 » 编程语言 » c语言查数函数

c语言查数函数

发布时间: 2022-08-25 03:35:40

Ⅰ 急求c语言中查找函数的代码

我去,几乎没有对的地方。
首先,指针默认只有一个地址的长度的空间,存不了那么多的字符。
其次,传值和传地址一塌糊涂,完全就是乱写么。
scanf的第二个参数是地址,如果本身不是指针则需要取址符。
我给你重写了算了
#include<stdio.h>
int Retrieve(int array[],int length,int x);/*形参x直接传值就可以了*/
int main()
{
int *a,x;
int length,i;

scanf("%d",&length);
a = (int)malloc(sizeof(int)*length); /*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/

for(i=0;i<length;i++)
scanf("%d",a+i);/*a本身就是一个地址,不需要加什么符号*/
scanf("%d",&x);/*x是变量,需要取址符*/

printf("%d\n",Retrieve(a,length,x));
return 0;
}
int Retrieve(int array[],int length,int x)
{
int i;
i=0;
/* p=array; 这句其实没必要*/
while(i<length)
{
if(x==array[i])
return i;/*既然找到了,那就直接返回就行了*/
i++;
}

return -1;
}

Ⅱ C语言实现整型数组中查找指定元素的函数

#include<stdio.h>
int search(int a[], int n, int searchValue) {
int i;
for(i=0; i<n; i++) if(a[i]==searchValue) return i;
return -1;
}
int main() {
int i;
int a[10],find,idx;
for(i=0; i<10; 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语言大神 题目:编写查找函数search(),实现如下功能。

#include <stdio.h>
int search(int arr[],int len,int num)//arr为序列,len为序列长度,num为要查找的数
{
int start,end,mid;
start=0;
end=len-1;
mid=(start+end)/2;
while(start<=end)
{
if(arr[mid]>num)
{
end=mid-1;
mid=(start+end)/2;
continue;
}
if(arr[mid]<num)
{
start=mid+1;
mid=(start+end)/2;
continue;
}
return mid+1;
}
return -1;
}

int main()
{
int a[100],i,m,num,pos;
printf("输入序列长度:");
scanf("%d",&m);
printf("输入一个长度为%d的有序序列:\n",m);
for(i=0;i<m;i++)
{
scanf("%d",&a[i]);
}
printf("输入你要查找的数:");
scanf("%d",&num);
pos=search(a,m,num);
if(pos==-1)
printf("未能在序列中找到你要查找的数。\n");
else
printf("你要查找的数在第%d个位置\n",pos);
return 0;
}

Ⅳ c语言字符串的查找用什么函数

用strstr这个函数
包含文件:string.h
函数名: strstr
函数原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。
返回值:返回该位置的指针,如找不到,返回空指针。

Ⅳ C语言数组的查找函数

#include<stdio.h>
int main()
{
int a[5];
int i,max,min;
printf("input number:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
max=a[0];
min=a[0];
for(i=0;i<5;i++){
if(a[i]>max)
max=a[i];
}
for(i=0;i<5;i++){
if(a[i]<min)
min=a[i];
}
for(i=0;i<5;i++){
printf("%d",a[i]);
printf(" ");
}
printf("\n");
printf("最大值为%d\n",max);
printf("最小值为%d\n",min);
return 0;
}

Ⅵ C语言查找函数

首先,指针默认只有一个地址的长度的空间,存不了那么多的字符。
其次,传值和传地址一塌糊涂,完全就是乱写么。
scanf的第二个参数是地址,如果本身不是指针则需要取址符。
我给你重写了算了
#include<stdio.h>
int Retrieve(int array[],int length,int x);/*形参x直接传值就可以了*/
int main()
{
int *a,x;
int length,i;

scanf("%d",&length);
a = (int)malloc(sizeof(int)*length); /*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/

Ⅶ C语言如何用函数来实现搜索

#include<stdio.h>
intsearch(inta[],intb,intc,inti)
{
intx,y,z;
x=i+1;
z=b-1;
y=(x+z)/2;
while(x<=z)
{
if(a[y]>c)
{
z=y-1;
y=(x+z)/2;
continue;
}
if(a[y]<c)
{
x=y+1;
y=(x+z)/2;
continue;
}
returny+1;
}
return-1;

}

intmain()
{
inti,m,pos;
scanf("%d",&m);
inta[m];
for(i=0;i<m;i++)
{
scanf("%d",&a[i]);
}

for(i=0;i<m;i++)
{
pos=search(a,m,a[i],i);
if(pos!=-1)
{
printf("FOUNDa[%d]=%d,positionis%d ",i,a[i],i+1);
return0;
}
}
if(pos==-1)
{
printf("NOTFOUND ");
}
return0;
}

这种查找方法的数组必须是从小到大的,用遍历的话就没这个问题了。

Ⅷ 用c语言编程,编写一个函数实现查找功能,给定一个数N(char)类型,在已排序的

摘要 #include

Ⅸ C语言 编程一个函数,在一个数列里查找某个数X的位置,找到返回位置,找不到返回-1

先排序:按照大小顺序排列好。
再查找:把数组从头到尾遍历,当找到符合的数字,返回数组下标,否则返回-1。
如果遇到数列中含有多个X的时候,可以修改函数。改为:当找到符合的数字时,X的个数+1,并储存位置,遍历完数组后,返回X的个数和位置;如果X的个数为0,则返回-1。

Ⅹ C语言如何检查一个数组中元素的个数

对于字符数组str[N],判断方法有以下三种:

  • 第一种:用库函数strlen

len=strlen(str);//数组长度
  • 第二种:利用计数器

inti=0;
while(str[i++]!='');//数组str的长度为i
  • 第三种:利用sizeof函数

len=sizeof(str)/sizeof(str[0]);//数组长度

对于其他类型的数组,都可以用字符数组的第三种方法,第三种方法是通用的。

热点内容
sql语句执行错误 发布:2025-01-18 03:21:49 浏览:650
数据库双引号 发布:2025-01-18 03:10:20 浏览:78
学java和php 发布:2025-01-18 03:01:03 浏览:451
怎么开服务器的端口 发布:2025-01-18 02:54:23 浏览:647
别克君越编程 发布:2025-01-18 02:32:24 浏览:913
ftp游戏下载网站 发布:2025-01-18 02:09:04 浏览:628
python调用另一个文件中的函数 发布:2025-01-18 02:03:54 浏览:597
mysql存储html 发布:2025-01-18 01:57:24 浏览:129
双ip服务器对网站优化有影响吗 发布:2025-01-18 01:56:41 浏览:246
汽车配置怎么区分自动挡 发布:2025-01-18 01:53:06 浏览:229