c语言写一函数,用冒泡法对输入的10个字符按由小到大顺序排列。
时间: 2024-04-30 15:18:49 浏览: 103
下面是一个用冒泡排序对10个字符按从小到大排序的C语言函数:
void bubble_sort(char arr[], int n) {
int i, j;
char temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
在这个函数中,参数 arr
是一个 char
类型的数组,包含了需要排序的字符;参数 n
是数组的长度,这里假设为 10
。
函数使用了冒泡排序算法,它会对数组中的相邻元素进行比较,如果它们的顺序不正确,就交换它们的位置,直到整个数组都排好序。
在这个函数中,我们使用了两个嵌套的循环来实现冒泡排序。外部循环从第一个元素开始,一直到倒数第二个元素结束,它控制了比较的轮数。内部循环从第一个元素开始,一直到当前轮数所限制的最后一个元素结束,它控制了每一轮比较的次数。
如果内部循环中发现相邻元素的顺序不正确,就交换它们的位置。这样,经过一轮比较后,最大的元素就会被交换到最后面,下一轮比较就可以忽略掉这个元素,以此类推,直到整个数组都排好序。
你可以用下面的代码来测试这个函数:
#include <stdio.h>
void bubble_sort(char arr[], int n);
int main() {
char arr[10];
int i;
printf("Enter 10 characters: ");
for (i = 0; i < 10; i++) {
scanf("%c", &arr[i]);
}
bubble_sort(arr, 10);
printf("Sorted characters: ");
for (i = 0; i < 10; i++) {
printf("%c ", arr[i]);
}
printf("\n");
return 0;
}
这个程序会提示你输入10个字符,然后使用 bubble_sort
函数对它们进行排序,并输出排序后的结果。注意,输入字符时需要用空格或回车键隔开它们。
相关推荐


















