#includestdio.h
創(chuàng)新互聯(lián)公司作為成都網站建設公司,專注重慶網站建設公司、網站設計,有關成都企業(yè)網站建設方案、改版、費用等問題,行業(yè)涉及成都房屋鑒定等多個領域,已為上千家企業(yè)服務,得到了客戶的尊重與認可。
int main()
{
int a[5];
int i,max,min;
printf("input number:\n");
for(i=0;i5;i++)
scanf("%d",a[i]);
max=a[0];
min=a[0];
for(i=0;i5;i++){
if(a[i]max)
max=a[i];
}
for(i=0;i5;i++){
if(a[i]min)
min=a[i];
}
for(i=0;i5;i++){
printf("%d",a[i]);
printf(" ");
}
printf("\n");
printf("最大值為%d\n",max);
printf("最小值為%d\n",min);
return 0;
}
對于數組的查詢,其實就是對數組中數據做一個遍歷。
最常用的方法就是通過循環(huán)對數組中的元素逐個取值,并與參考值(要查詢的值)做比對,并處理結果。
下面是一個簡單的對一維數組進行查詢的樣例。
函數功能:對輸入的數組元素進行查詢,打印符合查詢值的元素位置,并返回查詢到的元素總數。
函數名:array_query
函數聲明: int array_query(int *a, int n, int v);
參數介紹:
a: 輸入的數組,類型為整型指針,表示整型數組??梢愿鶕嶋H需要進行調整。
n:數組中現(xiàn)有元素的個數。
v:要查詢的元素值。
返回值:
整型,返回查詢到的元素個數。如果出錯返回-1。
實現(xiàn)代碼:
int?array_query(int?*a,?int?n,?int?v)
{
int?i,ret;
if(a?==?NULL?||?n?=?0)?return?-1;?//出錯處理
for(ret?=?i?=?0;?i??n;?i?++)
{
if(a[i]?==?n)
{
printf("%d\n",?i);//找到元素,打印下標,并累計統(tǒng)計值
ret?++;
}
}
return?ret;//返回總數。
}
#includestdio.h
int search(int a[], int n, int searchValue) {
int i;
for(i=0; in; i++) if(a[i]==searchValue) return i;
return -1;
}
int main() {
int i;
int a[10],find,idx;
for(i=0; i10; 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");
}
從題目的敘述來看,這個函數的功能就是這一個包含有l(wèi)en個元素的num數組中查找是否存在值為key的元素??梢栽谡业胶蠓祷卦撛氐南聵?,否則返回-1。
這個函數的函數體可以這么寫:
int i;
for(i=0;ilen;i++)
if(num[i]==key)return i;
return -1;
然后在主函數中的查找語句可以這么寫:
if(searchNum(key,num,len)!=-1)
printf("找到!\n");