📄 ssort.c
字号:
/*ssort.c: 对文本行进行排序*/int puts(char *s);int printf(char *fmt, char *s);char *strcpy(char *p, char *line);char *malloc(int len);int strcmp(char *s, char *d);void qsort(void *lineptr[], int left, int right, int (*comp)(void *, void*));char *lineptr[5000];int readlines(char *lineptr[], int nlines);void writelines(char *lineptr[], int nlines);int getline(char *buf, int len);int main(void){ int nlines; if ((nlines = readlines(lineptr, sizeof lineptr)) >= 0) { qsort((void **)lineptr, 0, nlines - 1, (int (*)(void*,void*))strcmp); writelines(lineptr, nlines); return 0; } else { puts("error: input too big to sort\n"); return 1; }}/*readlines:读取输入行*/int readlines(char *lineptr[], int maxlines){ int len, nlines; char *p, line[1000]; nlines = 0; while ((len = getline(line, sizeof line)) > 0) { if (nlines >= maxlines) return -1; if ((p = malloc(len)) == (void *)0) return -1; line[len-1] = 0; strcpy(p, line); lineptr[nlines] = p; nlines = nlines + 1; } return nlines;}/*writelines:写输出行*/void writelines(char *lineptr[], int nlines){ int i = 0; while (i < nlines) { printf("%s\n", lineptr[i]); i = i + 1; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -