當前位置:首頁 » 編程語言 » 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]);//數組長度

對於其他類型的數組,都可以用字元數組的第三種方法,第三種方法是通用的。

熱點內容
linux伺服器網站 發布:2025-01-17 23:14:45 瀏覽:785
sql幾點 發布:2025-01-17 23:08:42 瀏覽:350
扣扣密碼是多少 發布:2025-01-17 23:02:57 瀏覽:646
易柚和安卓手機哪個好 發布:2025-01-17 23:02:14 瀏覽:583
linux切換root用戶 發布:2025-01-17 22:50:27 瀏覽:534
速賣通演算法 發布:2025-01-17 22:42:12 瀏覽:444
編譯中標題翻譯的特點 發布:2025-01-17 22:42:07 瀏覽:439
oppok7x激活密碼是多少 發布:2025-01-17 22:41:02 瀏覽:222
按鍵精靈腳本自動交易分解 發布:2025-01-17 22:30:33 瀏覽:14
如何恢復安卓60 發布:2025-01-17 22:27:07 瀏覽:439