用起泡法和选择法怎么将字符串按ascll码值从小到大排列啊


#include"stdio.h"
#include "string.h"
void main()
{
    int i,j,n;
    char t;
    char c[100];
    n=strlen(c);
    printf("请?输?入?一?个?字?符?串?:阰");
    gets(c);
    n=strlen(c);
    for(i=0;i<n-1;i++)
    {    
        for(j=0;j<n-1-i;j++)
        {
            if(c[j]>c[j+1])
            {
                t=c[j];c[j]=c[j+1];c[j+1]=t;

            }
        }
    }
    printf("排?序ò后ó的?字?符?串?为a:");
    puts(c);
}

起泡法就是你写的那个,选择排序法如下:


#include"stdio.h"
#include "string.h"
void main()
{
    int i, j, n;
    char t;
    char c[100];
    printf("请输入一个字符串:");
    gets(c);
    n = strlen(c);
    //for (i = 0; i < n - 1; i++)          //冒泡排序
    //{
    //    for (j = 0; j < n - 1 - i; j++)
    //    {
    //        if (c[j] > c[j + 1])
    //        {
    //            t = c[j]; c[j] = c[j + 1]; c[j + 1] = t;

    //        }
    //    }
    //}
    for (i = 0; i < n - 1; i++)     //选择排序
        for (j = i + 1; j < n; j++)
            if (c[i] > c[j])
            {
                t = c[j]; c[j] = c[i]; c[i] = t;
            }
    printf("排序后的字符串为a:");
    puts(c);
}