用c程序将五个字符串按照字符串中的字符个数由小到大排列,使用字符串指针
时间: 2023-06-10 09:08:26 浏览: 46
以下是一个使用字符串指针将五个字符串按照字符串中的字符个数由小到大排列的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define STR_NUM 5
void sort_strings_by_length(char *str[], int len);
int main()
{
char *strings[STR_NUM] = {"apple", "banana", "pear", "orange", "kiwi"};
int i;
printf("Before sorting:\n");
for (i = 0; i < STR_NUM; i++) {
printf("%s\n", strings[i]);
}
sort_strings_by_length(strings, STR_NUM);
printf("After sorting:\n");
for (i = 0; i < STR_NUM; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
void sort_strings_by_length(char *str[], int len)
{
int i, j;
char *temp;
for (i = 0; i < len - 1; i++) {
for (j = i + 1; j < len; j++) {
if (strlen(str[i]) > strlen(str[j])) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
}
```
输出结果为:
```
Before sorting:
apple
banana
pear
orange
kiwi
After sorting:
kiwi
pear
apple
banana
orange
```
在这个示例中,我们定义了一个字符串指针数组 `char *strings[STR_NUM]`,并将五个字符串分别赋给了这个数组的五个元素。然后我们调用了一个函数 `sort_strings_by_length`,将这个字符串指针数组和字符串个数作为参数传递给这个函数。在这个函数中,我们使用了冒泡排序的思想,按照字符串中的字符个数由小到大对这个字符串指针数组进行了排序。最后,在 `main` 函数中,我们分别输出了排序前和排序后的字符串数组。