解题思路:
根据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语言训练-排序问题<1> (C++代码)浏览:604 |
【蟠桃记】 (C语言代码)浏览:651 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:543 |
蛇行矩阵 (C语言代码)浏览:753 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:624 |
C语言程序设计教程(第三版)课后习题5.7 (Java代码)浏览:889 |
wu-理财计划 (C++代码)浏览:837 |
printf基础练习2 (C语言代码)浏览:748 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:633 |
1908题解浏览:640 |