在主函数中输入 10 个等长的字符串。自定义一个函数对这 10 个字符串进行升序排序, 在主函数中调用此函数并输出排序好的字符串。 【设计要求】 (1)用二维数组作为自定义函数函数的数据类型; (2)使用冒泡排序对字符进行升序排序; (3)在主函数中输入 10 个等长的字符串,存储在一个二维数组中,以这个二维数组的 数组名作为实参进行地址传递调用自定义函数; (4)在主函数中输出排序后的结果。
时间: 2024-01-22 07:21:18 浏览: 96
以下是实现该要求的代码:
```c
#include <stdio.h>
#include <string.h>
void bubbleSort(char arr[][20], int n) {
int i, j;
char temp[20];
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (strcmp(arr[j], arr[j + 1]) > 0) {
strcpy(temp, arr[j]);
strcpy(arr[j], arr[j + 1]);
strcpy(arr[j + 1], temp);
}
}
}
}
int main() {
char arr[10][20];
int i;
printf("请输入10个等长的字符串:\n");
for (i = 0; i < 10; i++) {
scanf("%s", arr[i]);
}
bubbleSort(arr, 10);
printf("排序后的字符串为:\n");
for (i = 0; i < 10; i++) {
printf("%s\n", arr[i]);
}
return 0;
}
```
在该代码中,我们定义了一个 `bubbleSort` 函数,该函数接收一个二维字符数组和一个整数作为参数。在该函数中,我们使用冒泡排序对字符数组进行升序排序。
在主函数中,我们首先定义了一个二维字符数组 `arr`,并且使用循环语句输入了 10 个等长的字符串。接着,我们调用了 `bubbleSort` 函数,将 `arr` 数组作为实参进行地址传递调用。
最后,我们再次使用循环语句输出了排序后的字符串。
阅读全文