写一个函数, 用"起泡法" 对输入的十个字符按照由小到大的顺序排序
需要注意的是, 这里对字符比大小和数字比大小无异, 因为字符在计算机中用ASCII码形是存储的(C99把字符型数据作为整数类型的一种)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 10
void fun(char str[]) {
int n = strlen(str);
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n - 1 - i; ++j) {
if (str[j] > str[j + 1]) { //从大到小只需换成<号
str[j] = str[j] ^ str[j + 1];
str[j + 1] = str[j] ^ str[j + 1];
str[j] = str[j] ^ str[j + 1];
}
}
}
}
void main() {
char str[1024];
printf("请输入十个字符\n");
fgets(str, N, stdin);
fun(str);
printf("排序后的字符为:%s\n", str);
system("pause");
}