• <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 字符串處理

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

            所以,最好在統(tǒng)計(jì)前將patten內(nèi)的所有標(biāo)點(diǎn)符號(hào)都去除掉
            代碼:

             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) 評(píng)論(0)  編輯 收藏 引用 所屬分類: string algorithm

            <2011年1月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            導(dǎo)航

            統(tǒng)計(jì)

            公告

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

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            亚洲va久久久噜噜噜久久天堂| 久久伊人五月天论坛| 日日狠狠久久偷偷色综合免费| 久久er国产精品免费观看8| 94久久国产乱子伦精品免费| 伊人久久综在合线亚洲2019| 久久电影网| 亚洲va久久久噜噜噜久久| 久久―日本道色综合久久| 久久亚洲sm情趣捆绑调教 | 国产综合免费精品久久久| 国内精品久久久久久久久| 伊人色综合久久天天网| 国产精品VIDEOSSEX久久发布| 亚洲精品乱码久久久久久蜜桃不卡 | 久久黄视频| 国内精品久久久久久久97牛牛| 日韩AV毛片精品久久久| 久久国产精品77777| 伊人久久大香线蕉亚洲| 久久99国产精品成人欧美| 亚洲AV日韩AV永久无码久久| 狠狠人妻久久久久久综合蜜桃| 99久久国产宗和精品1上映| 久久久这里有精品中文字幕| 7777久久亚洲中文字幕| 久久精品天天中文字幕人妻| 久久综合色之久久综合| 国产成人无码精品久久久免费| 久久精品国产99久久久古代| 久久天天躁狠狠躁夜夜2020一| 久久久九九有精品国产| 国产午夜精品理论片久久影视| 精品久久一区二区三区| 久久综合国产乱子伦精品免费| 国产Av激情久久无码天堂| 久久久久久国产精品无码下载 | 9191精品国产免费久久| 91精品国产9l久久久久| 国产精品一区二区久久不卡| 久久无码人妻一区二区三区午夜 |