题解 | 字符串排序
字符串排序
https://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
int n;
scanf("%d", &n);
getchar(); //清除缓存区残留的换行符
char* words[1000];
for (int i = 0; i < n; i++) {
words[i] = (char*)malloc(1000);
fgets(words[i], 1000, stdin);
words[i][strcspn(words[i], "\n")] = '\0';
}
for (int i = 0; i < n - 1; i++ ) {
for (int j = 0; j < n - i - 1; j++) {
if (strcmp(words[j], words[j + 1]) > 0) {
char* temp = words[j];
words[j] = words[j + 1];
words[j + 1] = temp;
}
}
}
for (int i = 0; i <n; i++) {
printf("%s\n", words[i]);
}
return 0;
}

