溫馨提示×

c語言動態(tài)數(shù)組怎么賦值并排序輸出

小億
128
2023-12-20 05:37:08
欄目: 編程語言

在C語言中,可以使用動態(tài)數(shù)組來賦值并排序輸出。下面是一個示例代碼:

#include <stdio.h>
#include <stdlib.h>

int compare(const void *a, const void *b) {
    return (*(int*)a - *(int*)b);
}

int main() {
    int n;  // 數(shù)組長度
    int *arr;  // 動態(tài)數(shù)組指針

    // 輸入數(shù)組長度
    printf("請輸入數(shù)組長度:");
    scanf("%d", &n);

    // 為動態(tài)數(shù)組分配內(nèi)存空間
    arr = (int*)malloc(n * sizeof(int));

    // 輸入數(shù)組元素
    printf("請輸入數(shù)組元素:");
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    // 排序數(shù)組
    qsort(arr, n, sizeof(int), compare);

    // 輸出排序后的數(shù)組
    printf("排序后的數(shù)組:");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    // 釋放內(nèi)存空間
    free(arr);

    return 0;
}

該代碼首先通過malloc函數(shù)為動態(tài)數(shù)組arr分配了nint類型的內(nèi)存空間。然后使用循環(huán)輸入數(shù)組元素。接下來,使用qsort函數(shù)對數(shù)組進行排序,compare函數(shù)用于比較兩個元素的大小。最后,使用循環(huán)輸出排序后的數(shù)組元素。最后,使用free函數(shù)釋放動態(tài)數(shù)組所占的內(nèi)存空間。

0