#include #include #include #define LINE_MAX 1000 int comp( const void *p1, const void *p2 ) { return strcmp( *(char **)p1, *(char **)p2 ); } main() { char buf[BUFSIZ]; char *line[LINE_MAX]; char *p; int i, n; for (i = 0; fgets(buf, sizeof buf, stdin) != NULL && i < LINE_MAX; i++) { p = (char *)malloc( sizeof(char) * (strlen(buf)+1)); strcpy(p, buf); line[i] = p; } n = i; qsort( line, n, sizeof line[0], comp ); for (i = 0; i < n; i++) printf("%s", line[i]); exit(0); }