C語言練習-字符數組的升序降序排列

1.字符數組的升序降序排列和打印

#include <stdio.h>
void bubble_sort(char s[],int n,int flag);
void output_array(char s[],int n);
int main( )
{
    char a[7]={'g','f','e','d','c','b','a'};
    char b[7]={'h','i','j','k','l','m','n'};
    bubble_sort(a,7,1);
    output_array(a,7);
    printf("\n***********\n");
    bubble_sort(b,7,0);
    output_array(b,7);
    return 0;
}


void bubble_sort(char s[],int n,int flag)
{
    int i,j;
    char tmp;
    if(flag)
    {
        for(i=0;i<n;i++)
        {
            for(j=0;j<n-i-1;j++)
            {
                if(s[j]>s[j+1])
                {
                    tmp = s[j];
                    s[j] = s[j+1];
                    s[j+1] = tmp;
                }
            }
        }
    }
    else
    {
        for(i=0;i<n;i++)
        {
            for(j=0;j<n-i-1;j++)
            {
                if(s[j]<s[j+1])
                {
                    tmp = s[j];
                    s[j] = s[j+1];
                    s[j+1] = tmp;
                }
            }
        }
    }
}
void output_array(char s[],int n)
{
    int i;
    for(i=0;i<n;i++)
        printf("%c>",s[i]);
}

猜你喜欢

转载自blog.csdn.net/weixin_38486169/article/details/86574918