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

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

需要注意的是, 这里对字符比大小和数字比大小无异, 因为字符在计算机中用ASCII码形是存储的(C99把字符型数据作为整数类型的一种)

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 10
void fun(char str[]) {
	for (int i = 0; i < (int)strlen(str); ++i) {
		for (int j = i + 1; j < (int)strlen(str); ++j) {
			if (str[i] > str[j]) { //从大到小只需换成<号
				str[i] = str[i] ^ str[j];
				str[j] = str[i] ^ str[j];
				str[i] = str[i] ^ str[j];
			}
		} 
	}
}
	
void main() {
	char str[1024];
	printf("请输入十个字符\n");
	fgets(str, N + 1, stdin);
	fun(str);
	printf("排序后的字符为:%s\n", str);
	system("pause");
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41071068/article/details/89423492