c语言用起泡法对输入的字符串数组进行从小到大排序
时间: 2024-05-01 20:20:21 浏览: 112
下面是用冒泡排序法对字符串数组进行从小到大排序的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[10][50], temp[50];
int n, i, j;
printf("Enter the number of strings: ");
scanf("%d", &n);
printf("Enter %d strings: \n", n);
for(i=0; i<n; i++)
scanf("%s", str[i]);
// Bubble sort
for(i=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
{
if(strcmp(str[i], str[j]) > 0)
{
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
}
printf("\nStrings in sorted order: \n");
for(i=0; i<n; i++)
printf("%s\n", str[i]);
return 0;
}
```
首先,我们定义一个字符串数组 `str` 和一个临时字符数组 `temp`,以及输入的字符串数量 `n` 和循环中使用的变量 `i` 和 `j`。
其次,我们通过循环输入 `n` 个字符串。
接着,我们使用嵌套的循环来进行冒泡排序。外层循环从第一个字符串开始到倒数第二个字符串,内层循环从外层循环的下一个字符串开始到最后一个字符串。如果前面的字符串大于后面的字符串,我们就使用 `strcpy` 函数交换它们的位置。
最后,我们打印排序后的字符串数组。
阅读全文