none
单词按元音个数排序! RRS feed

  • 问题

  •   对一段英文文本,每两个标点符号之间是一段,统计其中每个单词的元音个数,并按照升幂来排序,
    例如
    单词      , would migrate from the rivers on their territories ,
    元音个数      2      3           1    1      2     1     2      5

    其分组结果为  [would migrate][from the rivers][on their] [territories]
    migrate 元音个数为3 后面单词from的元音个数为1 所以升幂的话 前两个字母分为一组。

    元音个数已经统计出来了,但分组有点复杂。C++牵扯到很多字符操作,请大家帮帮忙有什么好的建议或程序完成这个操作!
    注:根本问题就是按照元音个数的升幂找到合适的位置 插入分隔符 [ ]
    2010年2月5日 5:56

答案

  • 你可以建立一个结构,保存每个单词的首字母位置和该单词长度以及元音个数
    typedef struct
    {
        int nPos;
        int nLength;
        int nCount;
    }XXXXX;

    把每个词的信息保存进这样的结构组里,对nCount进行排序

    然后分配一个足够大的buffer,把排序后的单词从输入拷贝到buffer里即可。

    这种练习题解法很多,建议还是自己做吧,不亲手做很难进步的。


    0xBAADF00D
    • 已标记为答案 子强 2010年2月8日 7:46
    2010年2月6日 11:49
    版主

全部回复

  • 你可以建立一个结构,保存每个单词的首字母位置和该单词长度以及元音个数
    typedef struct
    {
        int nPos;
        int nLength;
        int nCount;
    }XXXXX;

    把每个词的信息保存进这样的结构组里,对nCount进行排序

    然后分配一个足够大的buffer,把排序后的单词从输入拷贝到buffer里即可。

    这种练习题解法很多,建议还是自己做吧,不亲手做很难进步的。


    0xBAADF00D
    • 已标记为答案 子强 2010年2月8日 7:46
    2010年2月6日 11:49
    版主
  • on their territories为什么不在一组?
    麻烦把正确答案设为解答。
    2010年2月8日 1:13
    版主
  • 说的是啊。谢谢!On their territories 应该是一组,当时给写错了。问题已经解决,我是结合了数据库。其实要是用结构做,计算单词频率的时候可能会有些麻烦。
    2010年2月8日 7:46