大家好,在我编写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)
ASCII的值'A'
和'a'
不一样.'A' == 65
和'a' == 97
.
因此,当您进行比较时,您需要使用其中一个进行比较tolower
或toupper
确保您的值正确.你作出这样的对比之后,你需要再还比较一下,看它是否上与小写(保证上,然后下订单).