```c
#include <stdio.h>
// 排序函數,參數為待排序數組和數組長度
void sort(int arr[], int len) {
int i, j, tmp;
// 冒泡排序
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) { // 相鄰元素比較,如果前面的大於後面的,則交換位置
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main() {
int arr[] = { 3, 1, 5, 7, 2, 4, 6 };
int len = sizeof(arr) / sizeof(int);
int i;
// 輸出排序前的數組
printf("排序前:
");
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("
");
// 調用排序函數進行排序
sort(arr, len);
// 輸出排序後的數組
printf("排序後:
");
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("
");
return 0;
}
```
在上面的代碼中,我們定義了壹個`sort`函數,實現了壹維數組排序,並接受待排序數組和數組長度為參數。排序的算法采用的是冒泡排序,每次比較相鄰元素的大小並交換它們的位置,直到排序完成。
在主函數中,我們聲明了壹個待排序的壹維數組`arr`,並計算了數組長度。然後,我們輸出了排序前的數組,並調用`sort`函數進行排序。最後,我們輸出排序後的數組。
需要註意的是,排序函數的實現方式可以有多種,根據實際需求和數據類型的不同,選擇合適的排序算法可以提高排序的效率和準確性。在調用排序函數時,需要確保輸入的參數正確和合法,避免出現數組越界等錯誤。