如何在c/c ++中将字符串中的字母按字母顺序排序?

Koo*_*bin 1 c c++ sorting

大家好,在我编写AaBc时,它会编写'ABab'.我应该在这段代码中改变什么,如果我想要它像'AaBb'那样写?

#include <stdlib.h>
#include<iostream.h>
#include<string.h>
int main (void)
{
    char string[128], temp;
    int n, i, j;

    printf("\nEnter string: ");
    gets(string);

    n = strlen(string);

    for (i=0; i<n-1; i++)
    {
        for (j=i+1; j<n; j++)
        {
            if (string[i] > string[j])
            {
                temp = string[i];
                string[i] = string[j];
                string[j] = temp;
            }
        }
    }
    printf("\n%s", string);
    printf("\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

pic*_*ypg 7

ASCII的值'A''a'不一样.'A' == 65'a' == 97.

因此,当您进行比较时,您需要使用其中一个进行比较tolowertoupper确保您的值正确.你作出这样的对比之后,你需要还比较一下,看它是否上与小写(保证上,然后下订单).