從題目的敘述來(lái)看,這個(gè)函數(shù)的功能就是這一個(gè)包含有l(wèi)en個(gè)元素的num數(shù)組中查找是否存在值為key的元素??梢栽谡业胶蠓祷卦撛氐南聵?biāo),否則返回-1。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、寧陵網(wǎng)站維護(hù)、網(wǎng)站推廣。
這個(gè)函數(shù)的函數(shù)體可以這么寫:
int i;
for(i=0;ilen;i++)
if(num[i]==key)return i;
return -1;
然后在主函數(shù)中的查找語(yǔ)句可以這么寫:
if(searchNum(key,num,len)!=-1)
printf("找到!\n");
#include stdio.h
int search(int arr[],int len,int num)//arr為序列,len為序列長(zhǎng)度,num為要查找的數(shù)
{
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("輸入序列長(zhǎng)度:");
scanf("%d",m);
printf("輸入一個(gè)長(zhǎng)度為%d的有序序列:\n",m);
for(i=0;im;i++)
{
scanf("%d",a[i]);
}
printf("輸入你要查找的數(shù):");
scanf("%d",num);
pos=search(a,m,num);
if(pos==-1)
printf("未能在序列中找到你要查找的數(shù)。\n");
else
printf("你要查找的數(shù)在第%d個(gè)位置\n",pos);
return 0;
}
函數(shù)COUNT在計(jì)數(shù)時(shí),將把數(shù)字、空值、邏輯值、日期或以文字代表的數(shù)計(jì)算進(jìn)去;但是錯(cuò)誤值或其他無(wú)法轉(zhuǎn)化成數(shù)字的文字則被忽略。
如果參數(shù)是一個(gè)數(shù)組或引用,那么只統(tǒng)計(jì)數(shù)組或引用中的數(shù)字;數(shù)組中或引用的空單元格、邏輯值、文字或錯(cuò)誤值都將忽略。如果要統(tǒng)計(jì)邏輯值、文字或錯(cuò)誤值,請(qǐng)使用函數(shù)COUNTA。
示例
如果A1為1,A5為3,A7為2,其他均為空,則:
COUNT(A1:A7)等于3
COUNT(A4:A7)等于2
COUNT(A1:A7,2)等于4
特殊例子
COUNT(A1:A7,,TRUE,FALSE)等于6
原因:TRUE和FALSE計(jì)算機(jī)會(huì)轉(zhuǎn)換為1與0所以也是數(shù)字。注意兩個(gè)逗號(hào)間的空白,也默認(rèn)為數(shù)字。
注意:distinct命令不能與count(*)一起使用,只能用于count(column_name).
擴(kuò)展資料:
代碼:
#includelt;stdio.hgt;
int main()
{
int i;
printf("輸入整數(shù):");
scanf("%d",i);
printf("%d",i);
int count=0;
while(i!=0){
count+=i1;
igt;gt;=1;
}
printf("的二進(jìn)制表示中1的位數(shù)共有%d:\n",count);
return 0;
}
參考資料:
百度百科——Count(一種電腦計(jì)算機(jī)內(nèi)部的數(shù)學(xué)函數(shù)的名字)
首先,指針默認(rèn)只有一個(gè)地址的長(zhǎng)度的空間,存不了那么多的字符。
其次,傳值和傳地址一塌糊涂,完全就是亂寫么。
scanf的第二個(gè)參數(shù)是地址,如果本身不是指針則需要取址符。
我給你重寫了算了
#includestdio.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); /*申請(qǐng)一個(gè)內(nèi)存空間用來(lái)存放數(shù)據(jù),或者直接用一個(gè)大數(shù)組也可以*/
新聞名稱:c語(yǔ)言查詢數(shù)字的函數(shù) c語(yǔ)言數(shù)據(jù)查詢
網(wǎng)頁(yè)網(wǎng)址:http://muchs.cn/article44/dohdphe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、關(guān)鍵詞優(yōu)化、網(wǎng)站收錄、、網(wǎng)站內(nèi)鏈、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)