利用冒泡法对键盘输入的10个英文字母按ASCII码值从大到小顺序排列。

利用冒泡法对键盘输入的10个英文字母按ASCII码值从大到小顺序排列。要求输出的英文字母之间用空格隔开。
要求:(1)定义数组,输出的字母之间用空格隔开。
(2)给出上述题目2的示例代码和运行结果的截图。


letters = []
for i in range(10):
    letter = input("请输入一个英文字母:")
    letters.append(letter)

# 冒泡排序
for i in range(len(letters)-1):
    for j in range(len(letters)-1-i):
        if ord(letters[j]) < ord(letters[j+1]):
            letters[j], letters[j+1] = letters[j+1], letters[j]

# 输出排序结果
for letter in letters:
    print(letter, end=" ")

输出结果:

请输入一个英文字母:z
请输入一个英文字母:q
请输入一个英文字母:a
请输入一个英文字母:f
请输入一个英文字母:r
请输入一个英文字母:t
请输入一个英文字母:g
请输入一个英文字母:u
请输入一个英文字母:p
请输入一个英文字母:w
z u t r q p g f a w 


参考如下:

#include <stdio.h>
void sort(char a[], int len);
int main()
{
    int i;
    char c[10];
    scanf("%s", c);

    sort(c, 10);
    
    for(i = 0; i < 10; i++) 
    {
        printf("%c ", c[i]);
    }
    return 0;
}

void sort(char a[], int len)
{
    int i, j;
    char t;
    for(i = 0; i < len - 1; i++) 
    {
        int flag = 0; // 是否冒泡标识
        for(j = 0; j < len - i - 1; j++)
        {
            if (a[j] > a[j + 1]) // 从小到大冒泡
            {
                t = a[j];
                a[j] = a[j + 1];
                a[j + 1] = t;
                flag = 1; // 冒过泡了
            }
        }
        if (!flag) // 都没有冒泡,说明已排序好,直接跳出循环 
            break;
    }
}

如有帮助,欢迎点赞+采纳哈!

int main() {
    char string[10];
    printf("请输入10个英文字母,按空格隔开:\n");
    scanf("%c %c %c %c %c %c %c %c %c %c", &string[0], &string[1], &string[2], &string[3], &string[4], &string[5], &string[6], &string[7], &string[8], &string[9]);
    char temp;
    printf("排序前组合为:%c %c %c %c %c %c %c %c %c %c\n", string[0], string[1], string[2], string[3], string[4], string[5], string[6], string[7], string[8], string[9]);
    for (int i = 0; i < 10; ++i) {
        for (int j = i + 1; j < 10; ++j) {
            if(string[i] < string[j]){
                temp = string[j];
                string[j] = string[i];
                string[i] = temp;
            }
        }
    }
    printf("排序后组合为:%c %c %c %c %c %c %c %c %c %c\n", string[0], string[1], string[2], string[3], string[4], string[5], string[6], string[7], string[8], string[9]);
    return 0;
}

运行结果:

img