任意輸入其中一個數(shù)查找代碼如下:
寧德網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司2013年至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
#includestdio.h
int main()
{
int a[10]={20,40,50,70,80,10,15,25,45,100};
int i,b,c;
char t,y,n;
do{
printf("請輸入20,40,50,70,80,10,15,25,45,100十個數(shù)中任意一個:\n");
scanf("%d",b);
printf("b=%d\n",b);
for(i=0;i=9;i++)
{
if(a[i]==b)
c=i+1;
}
printf("第%d位數(shù)\n",c);
printf("是否繼續(xù)y/n:");
fflush(stdin);
scanf("%c",t);
}while(t == 'y');
return 0;
}
對于函數(shù):int* find(int a[], int value),其中a為整型數(shù)組首地址,value是被檢驗(yàn)值。我們可以利用指針a間接引用數(shù)組第一個元素的值,并將其與value比較,比較完后,將指針向后移動,再通過間接引用的方式比較下一個元素值,依次下去,直到在整型數(shù)組中找到被檢驗(yàn)值或者整型數(shù)組所有元素比較結(jié)束為止。
那么這里有個問題,我們?nèi)绾瓮ㄟ^指針知到整型數(shù)組什么時候結(jié)束呢?對于整型數(shù)組而言,沒有辦法,所以我們必須先知道整型數(shù)組的長度,可以在參數(shù)中給出,也可以在主函數(shù)定義中知曉。
程序如下:
int* find(int a[], int value)
{
int i=0,*p=a;
for(i=0;i=9;i++)
{
if(*p==value)
return p;
else
p++;
}
if(i=10)
return 0;
}
main()
{
int c[10]={1,2,3,4,5,6,7,8,9,0};
int n;
scanf("%d",n);
printf("%x %d",find(c,n),*(find(c,n)));/*第一個為函數(shù)返回地址,第二個為函數(shù)返回地址里的值*/
getch();
}
另外,我們測試一個程序或者函數(shù)是否正確不在于其能否正確運(yùn)行,而在于其運(yùn)行的結(jié)果是否符合我們的預(yù)期。針對上述程序,測試方法如下:
輸入任意一個數(shù),如果這個數(shù)在數(shù)組C內(nèi),看是否能夠打印出16進(jìn)制的地址數(shù)和與輸入值相同的數(shù);如果不在數(shù)組C內(nèi),看是否返回值為0的地址。
c語言find函數(shù)的用法詳解
C語言之find()函數(shù)
find函數(shù)用于查找數(shù)組中的某一個指定元素的位置。
比如:有一個數(shù)組[0, 0, 5, 4, 4];
問:元素5的在什么位置,find函數(shù) 返回值 為 2;
find (數(shù)組名 + 起始查找元素的位置, 數(shù)組名 + 結(jié)束查找的元素位置, 想要查找的元素)
直接上代碼:
#include iostream
#include vector
#include algorithm//注意要包含該頭文件
using namespace std;
int main()
{
int nums[] = { 3, 1, 4, 1, 5, 9 };
int num_to_find = 5;
int start = 0;
int end = 5;
int* result = find( nums + start, nums + end, num_to_find );
if( result == nums + end )
{
cout "Did not find any number matching " num_to_find endl;
}
else
{
cout "Found a matching number: " *result endl;
}
return 0;
}
先排序:按照大小順序排列好。
再查找:把數(shù)組從頭到尾遍歷,當(dāng)找到符合的數(shù)字,返回數(shù)組下標(biāo),否則返回-1。
如果遇到數(shù)列中含有多個X的時候,可以修改函數(shù)。改為:當(dāng)找到符合的數(shù)字時,X的個數(shù)+1,并儲存位置,遍歷完數(shù)組后,返回X的個數(shù)和位置;如果X的個數(shù)為0,則返回-1。
int main(void)
{
int aiNum[10] = {1,23,34,22,33,44,55,31,24,90};
int i;
int number;
printf("input NUMBER");
scanf("%d",number);
for(i=0;i10;i++)
{
if(number == a[i])
break;
}
if(i9)
{
printf("NOT FOUND NUMBER\n");
}
else
{
printf("LOCATION:[%d]\n",i);
}
return(0);
}
你這個哪里是指定字符出現(xiàn)的位置?明明就是指定字符串出現(xiàn)的位置。
首先先判斷第二個字符串的長度
然后在第一個字符串里面循環(huán)截取長度為第二個字符串長度的字符串,存到臨時字符串里。
比較臨時字符串和第二個字符串是否相同,相同則記錄找到次數(shù)并記錄位置,不相同則繼續(xù)循環(huán)。
如此即可。
文章標(biāo)題:c語言函數(shù)找指定數(shù)位置,c語言庫函數(shù)位置
文章轉(zhuǎn)載:http://chinadenli.net/article12/hecpgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作、小程序開發(fā)、企業(yè)建站、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)