对一个字符二维数组每一行的字符大小对比,冒泡排序,使用stricmp函数
时间: 2024-02-28 21:52:06 浏览: 68
好的,你的问题是如何对一个字符二维数组每一行的字符大小进行比较并进行冒泡排序,可以使用stricmp函数。
下面是一个示例代码,可以实现你的需求:
```c++
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
#define MAX_ROWS 10
void bubble_sort(char arr[][MAX_LEN], int rows) {
int i, j;
char temp[MAX_LEN];
for (i = 0; i < rows - 1; i++) {
for (j = 0; j < rows - i - 1; j++) {
if (stricmp(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[MAX_ROWS][MAX_LEN] = {"apple", "banana", "orange", "pear", "grape", "cherry", "kiwi", "watermelon", "pineapple", "mango"};
int rows = 10;
int i;
bubble_sort(arr, rows);
for (i = 0; i < rows; i++) {
printf("%s ", arr[i]);
}
return 0;
}
```
在这个示例代码中,我们定义了一个字符二维数组`arr`,它有`MAX_ROWS`行,每一行最大长度为`MAX_LEN`。然后我们定义了一个函数`bubble_sort`,它用于对这个二维数组每一行的字符串进行冒泡排序。在排序时,我们使用了`stricmp`函数进行字符串大小比较,它可以忽略大小写。最后我们在`main`函数中调用`bubble_sort`函数对数组进行排序,并打印排序后的结果。
注意,这个示例代码中的字符串数组长度是固定的,如果你的字符串长度不固定,需要使用指针数组或动态内存分配等方式来处理。
阅读全文