写一函数,用冒泡法对输入的10个字符按ASCII码从小到大顺序排列,字符输入用getchar()函数。

写一函数,用冒泡法对输入的10个字符按ASCII码从小到大顺序排列,字符输入用getchar()函数。函数原型:void Sort(char a[], int n); //数组a[]存放用户输入的n个字符
解题思路:设定字符数组大小为11,前10个元素存放输入的字符,最后一个元素存放'\0';字符可直接进行比较,字符串的输出用printf。


#include <stdio.h>

void BSort(char a[],int n)
{
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (a[j] > a[j + 1]) {
                char t = a[j];
                a[j] = a[j + 1];
                a[j + 1] = t;
            }
        }
    }
}
int main() {
    char a[10] = {0};
    printf("请输入10个字符:\n");
    for (int i = 0; i < 10; i++) {
        a[i] = getchar();
    }
    BSort(a,10);
    for (int i = 0; i < 10; i++)
        printf("%4c", a[i]);
    return 0;
}