设计一个函数,利用冒泡法对若干个字符串进行排序,利用C语言,使用二维数组存储字符串,
时间: 2023-06-03 15:06:46 浏览: 158
C语言指针一
好的,这是一个关于C语言程序设计的问题,我可以为你提供答案。
以下是一个使用冒泡排序法对若干个字符串进行排序的C语言函数的示例代码:
```
#include <stdio.h>
#include <string.h>
#define MAX 5 // 最多输入5个字符串
#define LEN 20 // 每个字符串最多输入19个字符,最后一位是'\0'
void bubbleSort(char str[][LEN], int n)
{
int i, j;
char temp[LEN];
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (strcmp(str[j], str[j+1]) > 0) {
strcpy(temp, str[j]);
strcpy(str[j], str[j+1]);
strcpy(str[j+1], temp);
}
}
}
}
int main()
{
char strs[MAX][LEN];
int i, n;
printf("请输入你要排序的字符串个数(1-5):\n");
scanf("%d", &n);
printf("请输入%d个字符串:\n", n);
for (i = 0; i < n; i++) {
scanf("%s", strs[i]);
}
bubbleSort(strs, n);
printf("排序后的字符串为:\n");
for (i = 0; i < n; i++) {
printf("%s\n", strs[i]);
}
return 0;
}
```
在该示例代码中,我们使用了一个二维字符数组来存储用户输入的若干个字符串,最多输入5个字符串,每个字符串最多输入19个字符,最后一位是'\0'。我们定义了一个bubbleSort函数来实现冒泡排序法,该函数接受一个二维字符数组和一个整型参数n作为输入参数,表示要排序的字符串个数。在主函数中,我们通过scanf函数从用户输入中得到要排序的字符串个数n和n个字符串,然后调用bubbleSort函数将字符串进行排序,并输出排序后的结果。
希望上面的示例代码能够帮助你解决问题,如果你有其他问题,欢迎随时提出。
阅读全文