C语言:疯狂英语

来源:百度知道 编辑:UC知道 时间:2024/05/28 20:31:51
Input

输入包含多行,每行一个单词,长度不超过100个字母。
保证每个单词只包含小写字母,没有长度相同的两个单词。最后输入“END”表示输入结束,“END”不算作要背的单词。

Output

每行输出一个单词,按照单词长度从小到大输出。

Sample Input

rage
is
economic
merry
END

Sample Output

is
rage
merry
economic
没有说明多少个单词。
知道输入END结束。
老兄们,是编程题呀。。

下面的都是直译!!

Sample Input -- 采样输入

rage ---继续下去
is --是
economic -- 合算的
merry --欢快
END --结束

Sample Output -- 示例输出

is --是
rage --继续下去
merry --欢快
economic --合算的

乃们啊。。。这显然是个算法题目啊。。。
这个用二叉排序树做吧,每个节点的数据区存一个结构,一个string,然后键值存成string对象的长度
如果优化成平衡二叉树更好
这个,你得翻翻你的数据结构书了~~~~

题中没有说最多多少个单词吗?

这样的话,应该只能走数据结构的思路了,前面那位大牛说了才用二叉树排序是一种不错的方法,每一个节点为一个结构体类型,一部分储存单词,一部分储存单词长度,按单词长度构建二叉树,然后输出……

我是学计算机专业的,不知道下面这些答案能否满意
Sample Input -- 采样输入

rage ---继续下去
is --是
economic -- 合算的
merry --欢快
END --结束

Sample Output -- 示例输出

is --是
rage