C語言 陣列與函式實踐

2021-08-07 08:36:48 字數 4037 閱讀 8689

任務**:

【專案1-有序陣列中插入資料(函式版)】

有乙個足夠「大」的陣列a,其中已經儲存了n個呈公升序排列的資料。呼叫函式insert(a, n, m),可以將數m插入到a中的合適位置,使其仍然保持公升序,並且返回值為陣列中有效數字的個數(即原先的n加1)。

#include #define n 100

int insert(int a,int n,int m)

}//資料後移

for(j=n;j>loc;j--)

//插入資料

a[j]=m;

n++;

return n;

}int main()

; int i, n=9;

int m =50;

n = insert(a, n, m); //在長度為n的a陣列中插入m,使仍保持有序

for(i=0; i

#include #define n 100

int insert(int , int, int);

int main()

; int i, n=9;

int m =50;

n = insert(a, n, m); //在長度為n的a陣列中插入m,使仍保持有序

for(i=0; i=0&&d[i]>m ) //把大數往後「搬」,騰出位置儲存n

i++;

d[i] = m; //找到了確定的位置賦值

n++;

return n; //返回值為陣列中新的有效資料的個數

}

【專案2 - 刪除陣列元素】

del函式的作用是刪除陣列a中的指定元素x,n為陣列a的元素個數。函式的返回值,為刪除元素後的有效元素個數(陣列中可能有重複元素)。函式的原型為:

int del (int a[10],int n,int x)

(1)請實現這個函式,並完成測試。

(2)如果在函式呼叫時,要求陣列中的元素呈公升序排列呢?

(1)

#include #define n 100

int del(int a,int n,int x)

; int b[15]=;

bubble_sort(a,20); //用冒泡法按降序排序a中元素

output_array(a,20); //輸出排序後的陣列

bubble_sort(b,15); //用冒泡法按降序排序b中元素

output_array(b,15); //輸出排序後的陣列

return 0;

}//請在下面定義bubble_sort和output_array函式

#include void bubble_sort(int a,int);

void output_array(int a,int);

//兩個函式bubble_sort和output_array的宣告

int main( )

; int b[15]=;

bubble_sort(a,20); //用冒泡法按降序排序a中元素

output_array(a,20); //輸出排序後的陣列

bubble_sort(b,15); //用冒泡法按降序排序b中元素

output_array(b,15); //輸出排序後的陣列

return 0;

}//請在下面定義bubble_sort和output_array函式

void bubble_sort(int a,int n)

;int b[15]=;

改為

char a[20] = ;

char b[15] = ; //自己補足

#include void bubble_sort(char a,int);

void output_array(char a,int);

//兩個函式bubble_sort和output_array的宣告

int main( )

; char b[15] = ; //自己補足

bubble_sort(a,20); //用冒泡法按降序排序a中元素

output_array(a,20); //輸出排序後的陣列

bubble_sort(b,15); //用冒泡法按降序排序b中元素

output_array(b,15); //輸出排序後的陣列

return 0;

}//請在下面定義bubble_sort和output_array函式

void bubble_sort(char a,int n)

; int b[15]=;

select_sort(a,20); //用冒泡法按降序排序a中元素

output_array(a,20); //輸出排序後的陣列

select_sort(b,15); //用冒泡法按降序排序b中元素

output_array(b,15); //輸出排序後的陣列

return 0;

}//請在下面定義select_sort和output_array函式

void select_sort(int a,int n)

int readdata(int n,int s)

//讀取檔案

while(fscanf(fp,"%d%d",&n[count],&s[count])!=eof)//直到讀完

//關閉檔案指標

fclose(fp);

return count;

}int search(int n,int count,int key)

return 0;

}void press()

int readdata(int n,int s)

//讀取檔案

while(fscanf(fp,"%d%d",&n[count],&s[count])!=eof)//直到讀完

//進行排序(!!因為search中mid使用在學號中,所以要對學號排序!!!)

sort(n,s,count);

//關閉檔案指標

fclose(fp);

return count;

}int search(int n,int count,int key)

else if(n[mid]>key)

else

}return index;

}void sort(int n,int s,int c)}}

}

/*

選擇排序

void sort(int n,int s,int c)}//

學號交換

t=n[i];

n[i]=n[k];

n[k]=t;

//成績交換

t=s[i];

s[i]=s[k];

s[k]=t;}*/

執**況:

專案1 :

專案2 :

專案3:

專案4:

c語言陣列與指標,函式與指標

學過c語言的人都知道,指標是c語言中比較複雜難理解的乙個知識點,想要理解透徹有些難度,所以在此辨析一些容易混淆的概念,整理了有關指標的知識點。首先,先來看幾個概念。指標變數存放位址的變數。變數指標 變數的位址。所以,我們常常聽到定義乙個指標,實際上是定義乙個指標變數,而不是定義乙個指標,指標既然是位...

C語言函式,陣列與指標

int sum int ar 對應的函式原型sum 獲得了該陣列首元素的位址。但是,該引數並未包含陣列元素個數的資訊,我們有兩種方式讓函式獲得這一資訊。第一,在函式 中直接寫上固定陣列的大小。int sum int ar 該函式上面的定義,限制了智慧型計算10個int型別的元素。第二種方法 把陣列大...

C語言 函式與陣列 字元陣列與字串

本博文為半摘記性質。函式的定義以及呼叫 一維陣列 二維陣列 字元陣列與字串 函式設計包括函式頭和函式體,函式體由說明部分和執行部分組成。函式名為函式的首位址。函式的定義與呼叫 函式的定義形式 型別名 函式名 型別名 形式引數1,型別名 形式引數2,形式引數名在同一函式中唯一,可與其它函式變數同名。函...