用c语言7.3 写一函数用"起泡法"对输入的10个字符按由小到大的顺序排列。
时间: 2023-06-08 12:04:20 浏览: 109
好的,我可以回答这个问题。以下是用 C 语言实现起泡排序算法的代码:
```c
#include <stdio.h>
#include <stdlib.h>
void bubbleSort(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;
}
}
}
}
int main() {
char arr[10];
int i;
printf("请输入10个字符:\n");
for (i = 0; i < 10; i++) {
scanf("%c", &arr[i]);
getchar(); // 读取并处理后面的回车符
}
bubbleSort(arr, 10);
printf("排序后的结果是:\n");
for (i = 0; i < 10; i++) {
printf("%c ", arr[i]);
}
printf("\n");
return 0;
}
```
这是一种比较经典的排序算法,其基本思路是将相邻两个元素进行比较,如果前一个比后一个大,就交换它们的位置,这样一趟下来,最大的元素就会被排到最后去,再对前面的元素进行相同的操作,直到所有元素都排好序为止。
阅读全文