C語(yǔ)言中scanf讀取數(shù)組后如何進(jìn)行排序

小樊
82
2024-09-10 10:19:04

在C語(yǔ)言中,可以使用各種排序算法對(duì)通過(guò)scanf讀取的數(shù)組進(jìn)行排序。這里我將展示一個(gè)簡(jiǎn)單的冒泡排序算法實(shí)現(xiàn):

#include<stdio.h>

void bubble_sort(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                // 交換兩個(gè)元素
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

int main() {
    int n;
    printf("請(qǐng)輸入數(shù)組長(zhǎng)度: ");
    scanf("%d", &n);

    int arr[n];
    printf("請(qǐng)輸入%d個(gè)整數(shù):\n", n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    bubble_sort(arr, n);

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

    return 0;
}

在這個(gè)程序中,首先通過(guò)scanf讀取數(shù)組的長(zhǎng)度和數(shù)組元素。然后調(diào)用bubble_sort函數(shù)對(duì)數(shù)組進(jìn)行冒泡排序。最后,打印出排序后的數(shù)組。

注意:這個(gè)程序沒(méi)有對(duì)輸入進(jìn)行錯(cuò)誤檢查,請(qǐng)確保輸入的是整數(shù)。

0