c语言

C语言中scanf读取数组后如何进行排序

小樊
81
2024-09-10 10:19:04
栏目: 编程语言

在C语言中,可以使用各种排序算法对通过scanf读取的数组进行排序。这里我将展示一个简单的冒泡排序算法实现:

#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]) {
                // 交换两个元素
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

int main() {
    int n;
    printf("请输入数组长度: ");
    scanf("%d", &n);

    int arr[n];
    printf("请输入%d个整数:\n", n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    bubble_sort(arr, n);

    printf("排序后的数组为:\n");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

在这个程序中,首先通过scanf读取数组的长度和数组元素。然后调用bubble_sort函数对数组进行冒泡排序。最后,打印出排序后的数组。

注意:这个程序没有对输入进行错误检查,请确保输入的是整数。

0
看了该问题的人还看了