(C语言) 写一个函数,用 "起泡法" 对输入的十个字符按照由小到大的顺序排序

写一个函数, 用"起泡法" 对输入的十个字符按照由小到大的顺序排序

需要注意的是, 这里对字符比大小和数字比大小无异, 因为字符在计算机中用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");
}

在这里插入图片描述


版权声明:本文为qq_41071068原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。