解题思路:
根据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语言代码)浏览:1297 |
Pascal三角 (C语言代码)浏览:707 |
A+B for Input-Output Practice (I) (C语言代码)浏览:451 |
杨辉三角 (C语言代码)浏览:734 |
C语言训练-字符串正反连接 (C语言代码)浏览:653 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:441 |
1074(纳闷了,答案错误,求指教)浏览:384 |
1199题解浏览:707 |
C语言程序设计教程(第三版)课后习题8.4 (C++代码)浏览:472 |
Manchester-弟弟的作业浏览:4153 |