c语言写一个函数,用"起泡法"对输入的10个字符按由小到大的顺序排列。要求用函数调用实现
时间: 2025-01-06 07:49:56 浏览: 10
好的,我可以为您提供一个使用C语言实现的起泡排序函数。以下是代码实现:
```c
#include <stdio.h>
#define SIZE 10
// 起泡排序函数
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;
}
}
}
}
// 打印数组函数
void printArray(char arr[], int size) {
int i;
for (i=0; i < size; i++)
printf("%c ", arr[i]);
printf("\n");
}
int main() {
char arr[SIZE];
printf("请输入10个字符:\n");
for(int i = 0; i < SIZE; i++) {
scanf(" %c", &arr[i]);
}
printf("原始输入:\n");
printArray(arr, SIZE);
bubbleSort(arr, SIZE);
printf("排序后:\n");
printArray(arr, SIZE);
return 0;
}
```
这段代码实现了以下功能:
1. 定义了`bubbleSort`函数来实现起泡排序算法。
2. 定义了`printArray`函数来打印数组内容。
3. 在`main`函数中:
- 首先提示用户输入10个字符。
- 打印原始输入。
- 调用`bubbleSort`函数进行排序。
- 打印排序后的结果。
这个程序使用了函数调用来实现起泡排序,并遵循了模块化的编程原则,使得代码更加清晰和可维护。
阅读全文