任務**:
【專案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,形式引數名在同一函式中唯一,可與其它函式變數同名。函...