解题思路:
根据1724题,后缀子串排序
①:定义一个二维字符数组
②:输入字符串个数n
③:输入字符串,当个数满或者输入"stop"时,结束输入
④:调用sqrt排序函数,对字符数组按照长度进行排序
⑤:排序完输出
参考代码:
#include <stdio.h> #include <string.h> #include <stdlib.h> #define N 101 int cmp(const void *a, const void *b) { return strlen((char *)a)-strlen((char *)b); } int main(void) { int i, j, k, n; char s[N][N]; while (scanf("%d",&n) != EOF) { k=0; getchar(); /*清空缓存区*/ while(k<n)/*用于输入字符串*/ { gets(s[k++]); /*输入字符串,同时K加上1*/ if(!strcmp(s[k-1],"stop")) /*若刚输入的字符串为"stop",则字符串个数为k-1,同时结束输入*/ { k--; break; } } qsort(s, k, sizeof(s[0]), cmp);/*排序*/ for(i=0; i<k; i++) printf("%s\n", s[i]); } return 0; }
别忘点赞哦-.-
0.0分
8 人评分
C语言训练-排序问题<2> (C++代码)浏览:880 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:508 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:535 |
C语言训练-大、小写问题 (C语言代码)浏览:724 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:534 |
【亲和数】 (C语言代码)浏览:597 |
C二级辅导-公约公倍 (C语言代码)浏览:481 |
最好的,浏览:563 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:699 |
龟兔赛跑预测 (C++代码)浏览:1180 |