写一个函数用起泡法对输入的十个字符按由小到大的顺序排列

写一个函数,用起泡法对输入的十个字符按由小到大序排列


#include <stdio.h>
#include <stdlib.h>
void sort(char s[], int n);                      //定义排序函数
int main()
{
    char str[11];
    printf("Please enter 10 charactor: ");       //输入10个字符
    gets(str);
    sort(str, 10);                               //调用排序函数
    system("pause");
    return 0;
}
//排序函数(起泡法)
void sort(char s[], int n)
{
    for (int i=0; i<n-1; i++)
        for (int j=0, t; j<n-1-i; s[j]>s[j+1]?t=s[j],s[j]=s[j+1],s[j+1]=t, j++ :j++);
    printf("Sort array: ");
    puts(s);
}

有帮助的话采纳一下哦,谢谢!🙈🙈🙈

img

#include <stdio.h>

void BubbleSort(int arr[],int n)
{
    int a=n;
    while(n-1)//进行n-1次排序
    {
        int i=0;
        while(i<n-1)//一次排序判断n-1次,最多交换n-1次
        {
            if(arr[i]>arr[i+1])
            {
                int tem=arr[i];
                arr[i]=arr[i+1];
                arr[i+1]=tem;
            }
            i++;
        }
        --n;
    }
}
int main()
{
    int a[10]={5,8,7,9,6,4,3,1,10,2}; 
    int j,n=10;
    printf("排序前:");
    for(j=0;j<n;j++)
    {
        printf("%d  ",a[j]);
    }
    BubbleSort(a,n);
    printf("\n排序后:");
    for(j=0;j<n;j++)
    {
        printf("%d  ",a[j]);
    }
    return 0;
}

#include<stdio.h>
int main()
{
void sort(char []);
char a[10];
int i=0;
printf("请输入十个字符:");
for(i=0;i<10;i++){
scanf("%c",&a[i]);
}
sort(a);
printf("从小到大顺序为:");
for(i=0;i<10;i++)
printf("%c ",a[i]);
}
void sort(char str1[])
{
int i,j;
char temp;
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
if(str1[i]>str1[j]){
temp=str1[i];
str1[i]=str1[j];
str1[j]=temp;
}
}


#include <stdio.h>
#include <string.h>

void BubbleSort(char str[])
{
    int i, j;
    char tmp;
    int len = strlen(str);
    for (i = 0; i < len - 1; ++i)
    {
        for (j = 0; j < len - i - 1; ++j)
        {
            if (str[j] > str[j + 1])
            {
                tmp = str[j];
                str[j] = str[j + 1];
                str[j + 1] = tmp;
            }
        }
    }
}

int main()
{
    int i;
    char str[11] = {0};
    printf("请输入10个字符:>");
    for (i = 0; i < 10; ++i)
        scanf("%c", &str[i]);

    BubbleSort(str);

    printf("string sorted: %s\n", str);
    return 0;
}