题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cmp(const void* a, const void *b)
{
//const char *str1 = (const char *)a;
return strcmp((const char *)a, (const char *)b);
}
int main() {
// char *str_list = NULL;
// int num = 0;
// scanf("%d", &num);
// str_list = malloc(num*sizeof(char*));
// int i = 0;
// char str[101] = {0};
// for (i = 0; i < num; i++) {
// memset(str, 0, sizeof(str));
// scanf("%s", str);
// int len =
// }
char str_list[1000][101] = {0};
memset(str_list, 0, sizeof(str_list));
int num = 0;
scanf("%d", &num);
int i = 0;
for (i = 0; i < num; i++) {
scanf("%s", str_list[i]);
}
qsort(str_list, num, sizeof(str_list[0]), cmp);
for (i = 0; i < num; i++) {
printf("%s\n", str_list[i]);
}
return 0;
}
收获点:
1.字符串长度是1-100,那么数组的长度应该是101,否则会溢出
2.qsort虽然号用,但是自己还是需要学习一些简单的排序算法
