實驗5 陣列和指標

2022-06-04 01:36:08 字數 2783 閱讀 4515

1.二分查詢

實現方式1:形參是陣列,實參是陣列名,使用陣列元素直接訪問方式實現。

#include  const

int n=5

;int binarysearch(int x, int n, int

item);

intmain() ;

inti,index, key;

printf(

"陣列a中的資料:\n");

for(i=0;i)

printf(

"%d

",a[i]);

printf("\n

");printf(

"輸入待查詢的資料項: ");

scanf("%d

", &key);

index=binarysearch(a,n,key) ;

if(index>=0

) printf(

"%d在陣列中,下標為%d\n

", key, index);

else

printf(

"%d不在陣列中\n

實現方式2:形參是指標變數2,實參是陣列名,使用指標變數間接訪問方式實現。

補足line20和line45

#include  const

int n=5

;int binarysearch(int *x, int n, int

item);

intmain() ;

inti,index, key;

printf(

"陣列a中的資料:\n");

for(i=0;i)

printf(

"%d

",a[i]);

printf("\n

");printf(

"輸入待查詢的資料項: ");

scanf("%d

", &key);

index=binarysearch(a,n,key);

if(index>=0

) printf(

"%d在陣列中,下標為%d\n

", key, index);

else

printf(

"%d不在陣列中\n

2.選擇排序法

#include #include 

void selectsort(char str[20], int

n );

//函式宣告,形參str是二維陣列名

intmain()

;

inti;

printf(

"輸出初始名單:\n

");

for(i=0; i<5; i++)

printf(

"%s\n

", name[i]);

selectsort(name,

5);

//呼叫選擇法對name陣列中的字串排序

printf("

按字典序輸出名單:\n

");

for(i=0; i<5; i++)

printf(

"%s\n

", name[i]);

return

0; }

//函式定義

//函式功能描述:使用選擇法對二維陣列str中的n個字串按字典序排序

3.用指標處理字串

練習1

#include void delprefixstar(char ); //

函式宣告(函式宣告中可以省略陣列名不寫)

int main()

//函式定義

//函式功能描述

//刪除字元陣列s中前導*

實驗總結和體會:

1.二分法查詢演算法:陣列名作為引數與指標變數作為引數:

形參陣列名用int a,指標變數用int*p;實參陣列名用suma[i],指標變數用*(p+1)。。。

陣列元素表示陣列名用啊a[i],指標變數用*(p+1)

2.其他總結也不好說了,,,感覺還是不懂,雲裡霧裡的。指標好難。

實驗5 陣列和指標

實現方式1 形參是陣列,實參是陣列名,使用陣列元素直接訪問方式實現 程式原始碼檔案ex1 1.cpp 以下是補全程式ex1 1.cpp之後的程式原始碼 練習 使用二分查詢,在一組有序元素中查詢資料項 形參是陣列,實參是陣列名 include const int n 5 int binarysearc...

5 陣列指標和指標陣列

陣列指標,從字面意思來看就是 指向陣列的指標 定義 int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 int a 3 4 int p 4 該語句...

實驗5 陣列和函式

實驗任務1 include const int n 3 int main inti printf 通過陣列名及下標直接訪問陣列元素 n for i 0 i printf d d n a i a i printf 通過位址間接訪問陣列元素 n for i 0 i printf d d n a i,a ...