用c语言编写函数,利用起泡法,对输入的10个字符串由小到大进行排序
时间: 2023-06-08 08:08:55 浏览: 118
好的,我可以为您提供帮助。以下是一个用C语言编写的基于起泡法的字符串排序函数的示例代码:
```
#include <stdio.h>
#include <string.h>
void bubbleSort(char arr[][50], int n) {
for(int i = 0; i < n - 1; i ++) {
for(int j = 0; j < n - i - 1; j ++) {
if(strcmp(arr[j], arr[j+1]) > 0) {
char tmp[50];
strcpy(tmp, arr[j]);
strcpy(arr[j], arr[j+1]);
strcpy(arr[j+1], tmp);
}
}
}
}
int main() {
char arr[10][50];
int i,n;
printf("请输入10个字符串:\n");
//读入10个字符串
for(i = 0; i < 10; i ++) {
scanf("%s", arr[i]);
}
n = sizeof(arr) / sizeof(arr[0]);
//调用起泡排序函数
bubbleSort(arr, n);
//输出排好序的字符串
printf("按字典序从小到大排好序的字符串如下:\n");
for(i = 0; i < n; i ++) {
printf("%s\n", arr[i]);
}
return 0;
}
```
这个函数使用了两层循环,每一次将相邻的两个字符串进行比较,如果前一个字符串大于后一个字符串,则交换它们的位置。整个排序过程会进行n-1次外层循环,每次外层循环都可以将当前最大的字符串排至正确位置。最终,数组中的所有字符串就会按照字典序从小到大排好序了。
阅读全文