C语言-冒泡排序算法示例

题:任意输出10个数,并在输出时把它们按照由小到大的顺序排列

#include <stdio.h>
// 任意输出10个数字,在输出的时候将它们按照从小到大的顺序排序
int main(void) {
    int t,a[10];
    printf("请输入10个数字");
    for (int i = 0; i < 10; ++i) {
        scanf("%d", &a[i]);
    } //输入10个数
    for (int j = 0; j < 9; ++j) {//进行九次比较
        for (int k = j+1; k < 10; ++k) {
            if(a[j] > a[k]){
                t = a[j];
                a[j] = a[k];
                a[k] = t; //交换两个数
            }
        }
    }
    printf("排序后为:");
    for (int l = 10; l >0; l++) {
        printf("%d ",a[l]);
    }
    printf("\n");
}

从大到小排序:

#include <stdio.h>
// 任意输出10个数字,在输出的时候将它们按照从小到大的顺序排序
int main(void) {
    int t,a[10];
    printf("请输入10个数字");
    for (int i = 0; i < 10; ++i) {
        scanf("%d", &a[i]);
    } //输入10个数
    for (int j = 0; j < 9; ++j) {//进行九次比较
        for (int k = j+1; k < 10; ++k) {
            if(a[j] > a[k]){
                t = a[j];
                a[j] = a[k];
                a[k] = t; //交换两个数
            }
        }
    }
    printf("排序后为:");
    for (int l = 9; l >=0; l--) {
        printf("%d ",a[l]);
    }
    printf("\n");
}

冒泡排序例图:

在这里插入图片描述

此图来源于冒泡排序(超详细)_@烟雨倾城ゝ的博客-CSDN博客_冒泡排序

大家可以直接参考这个博主的笔记,我这里就是自己再记录一下。讲的很清晰