在C語言中,可以使用動態數組來賦值并排序輸出。下面是一個示例代碼:
#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b) {
return (*(int*)a - *(int*)b);
}
int main() {
int n; // 數組長度
int *arr; // 動態數組指針
// 輸入數組長度
printf("請輸入數組長度:");
scanf("%d", &n);
// 為動態數組分配內存空間
arr = (int*)malloc(n * sizeof(int));
// 輸入數組元素
printf("請輸入數組元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 排序數組
qsort(arr, n, sizeof(int), compare);
// 輸出排序后的數組
printf("排序后的數組:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 釋放內存空間
free(arr);
return 0;
}
該代碼首先通過malloc
函數為動態數組arr
分配了n
個int
類型的內存空間。然后使用循環輸入數組元素。接下來,使用qsort
函數對數組進行排序,compare
函數用于比較兩個元素的大小。最后,使用循環輸出排序后的數組元素。最后,使用free
函數釋放動態數組所占的內存空間。