[C语言]使用指针将输入的多个字符串按长度升序排序
1、题目2、完整代码3、截图1、题目
编写一个函数,利用指针将输入的多个字符串按长度升序排序
要求:子函数 void StrSort(char *p[N],int n)
示例:
输入:
HU
KOBE
BRYANT
CCZU
输出:
HU
KOBE
CCZU
BRYANT
2、完整代码
#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>#define N 4void StrSort(char* p[N], int n) {int i, j;char* ch;//冒泡排序法for (i = 0; i < N; i++){for (j = 0; j < N - i - 1; j++){//如果后面的比前面的长就交换指针if (strlen(p[j]) > strlen(p[j + 1])){ch = p[j];p[j] = p[j + 1];p[j + 1] = ch;}}}}int main() {char* str[N];int i;char* ch;for (i = 0; i < N; i++) {str[i] = (char*)malloc(sizeof(char) * 10);gets(str[i]);}StrSort(str, 4);for (i = 0; i < N; i++)printf("%s\n", str[i]);return 0;}