• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            pku3371 Flesch Reading Ease 字符串處理

            題目很羅嗦,說到底干三件事:
            1、統(tǒng)計句子的個數(shù)(以".:;!?"為分隔符),這個只要統(tǒng)計分隔符的個數(shù)即可
            2、統(tǒng)計單詞的個數(shù),這個需要注意一點,不能僅僅以空格來spilt字符串,然后統(tǒng)計個數(shù)的方法。。只有除去標點符號后非空的patten才能算一個word
            3、統(tǒng)計音節(jié)的個數(shù)。
            1. -es, -ed and -e (except -le) endings are ignored, (末尾以es、ed、e(并且倒數(shù)第二個字母不是l)結(jié)束的部分不算在內(nèi))
            2. words of three letters or shorter count as single syllables, (字母個數(shù)(不是patten的長度,應(yīng)為可能有apple-pile這種類型的復合詞)小于3的單詞都算一個音節(jié),不一定要包括aeiouy)
            3. consecutive vowels count as one syllable.(連續(xù)的音標算一個音節(jié))

            所以,最好在統(tǒng)計前將patten內(nèi)的所有標點符號都去除掉
            代碼:

             1Source Code
             2
             3Problem: 3371  User: yzhw 
             4Memory: 3004K  Time: 313MS 
             5Language: Java  Result: Accepted 
             6
             7Source Code 
             8import java.io.*;
             9public class Main {
            10
            11    /**
            12     * @param args
            13     */

            14    static boolean IsSyllable(char ch)
            15    {
            16        switch(ch)
            17        {
            18        case 'a':return true;
            19        case 'e':return true;
            20        case 'i':return true;
            21        case 'o':return true;
            22        case 'u':return true;
            23        case 'y':return true;
            24        default:return false;
            25        }

            26    }

            27    public static void main(String[] args) throws IOException{
            28        BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
            29        int sen=0,word=0,syl=0;
            30        while(true)
            31        {
            32            String tmp=in.readLine();
            33            if(tmp==nullbreak;
            34            String tok[]=tmp.split(" ");
            35            for(int snum=0;snum<tok.length;snum++)
            36            {
            37                String str=tok[snum].toLowerCase();
            38                while(!str.isEmpty()&&!Character.isLetter(str.charAt(0)))
            39                {
            40                    switch(str.charAt(0))
            41                    {
            42                    case '.':sen++;break;
            43                    case '?':sen++;break;
            44                    case '!':sen++;break;
            45                    case ':':sen++;break;
            46                    case ';':sen++;break;
            47                    }
            ;
            48                    str=str.substring(1);
            49                }

            50                while(!str.isEmpty()&&!Character.isLetter(str.charAt(str.length()-1)))
            51                {
            52                    switch(str.charAt(str.length()-1))
            53                    {
            54                        case '.':sen++;break;
            55                        case '?':sen++;break;
            56                        case '!':sen++;break;
            57                        case ':':sen++;break;
            58                        case ';':sen++;break;
            59                    }
            ;
            60                    str=str.substring(0, str.length()-1);
            61                }

            62                for(int i=0;i<str.length();i++)
            63                {
            64                   if(!Character.isLetter(str.charAt(i)))
            65                       str=str.substring(0,i)+str.substring(i+1);
            66                }

            67                if(!str.isEmpty()) word++;
            68                else continue;
            69                int end=str.length();
            70                if(str.endsWith("es")||str.endsWith("ed")) end-=2;
            71                else if(str.endsWith("e")&&!str.endsWith("le")) end--;
            72                if(str.length()<=3)
            73                {
            74                    syl++;
            75                }

            76                else
            77                    for(int i=0;i<end;i++)
            78                        if(i==0&&IsSyllable(str.charAt(i))||i!=0&&!IsSyllable(str.charAt(i-1))&&IsSyllable(str.charAt(i)))
            79                            syl++;
            80            }

            81        }

            82        //System.out.println(sen+" "+word+" "+syl);
            83        System.out.printf("%.2f\n"206.835-1.015*word/sen-84.6*syl/word);
            84
            85    }

            86
            87}

            88
            89

            posted on 2011-01-06 23:26 yzhw 閱讀(537) 評論(0)  編輯 收藏 引用 所屬分類: string algorithm

            <2010年10月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導航

            統(tǒng)計

            公告

            統(tǒng)計系統(tǒng)

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            思思久久99热免费精品6| 婷婷久久综合| 国产精品久久成人影院| 久久国产精品无码HDAV| 国产精品久久久久久久久免费| 99久久中文字幕| 国产精品gz久久久| 久久久久久精品成人免费图片| 精品久久久久香蕉网| 精品99久久aaa一级毛片| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 91精品国产91久久久久福利| 国内精品九九久久久精品| 国内精品久久久久久久涩爱 | 一本色道久久HEZYO无码| 91视频国产91久久久| 久久精品国产一区二区三区| 久久香蕉国产线看观看精品yw| 国产成人精品久久一区二区三区av| 久久人人爽人人爽人人片av麻烦 | 无码人妻精品一区二区三区久久| 久久久久中文字幕| 亚洲AV无码久久精品色欲| 精品久久久久久无码人妻蜜桃| 久久久久久久波多野结衣高潮| 国产精自产拍久久久久久蜜| 久久久久久国产精品无码超碰| 三级片免费观看久久| 99久久国产热无码精品免费久久久久| 伊人久久大香线蕉综合Av | 亚洲国产成人久久综合一 | 中文字幕精品久久| 久久精品成人| 精品久久久久一区二区三区| 国产情侣久久久久aⅴ免费| 一本一本久久A久久综合精品| 欧美久久久久久午夜精品| 精品久久久久一区二区三区| 99久久精品免费看国产| 伊人色综合久久| 久久青青草原综合伊人|