zoukankan      html  css  js  c++  java
  • POJ 3371 Flesch Reading Ease 无聊恶心模拟题

    题目:http://poj.org/problem?id=3371

    无聊恶心题,还是不做的好,不但浪费时间而且学习英语。

    不过为了做出点技术含量,写了个递归函数。。。

    还有最后判断es,ed,le时只判断小写,因为想多了还错了一次。。

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <ctype.h>
     4 
     5 bool is_sy(char c)
     6 {
     7     if(c > 'y' || c < 'A')return 0;
     8     if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' || c == 'y' || is_sy(c+32))
     9         return 1;
    10     return 0;
    11 }
    12 
    13 int main()
    14 {
    15     char s[100];
    16     int st = 0, sy = 0, wd = 0;
    17     while(scanf("%s", s) != EOF)
    18     {
    19         wd++;
    20         int len = strlen(s);
    21         if(s[len-1] == '.' || s[len-1] == '?' || s[len-1] == ':' || s[len-1] == ';' || s[len-1] == '!')
    22             st++;
    23         while(!isalpha(s[len-1]))
    24             len--;
    25         if(len <= 3)sy++;
    26         else
    27         {
    28             if(is_sy(s[0]))sy++;
    29             for(int i = 1; i < len; i++)
    30                 if(is_sy(s[i]) && !is_sy(s[i-1]))sy++;
    31             if(s[len-2] == 'e' && !is_sy(s[len-3]) && (s[len-1] == 's' || s[len-1] == 'd'))sy--;
    32             if(s[len-1] == 'e' && !is_sy(s[len-2]) && s[len-2] != 'l')sy--;
    33         }
    34     }
    35     printf("%.2f
    ", 206.835 - 1.015 * (1.0*wd/st) - 84.6 * (1.0*sy/wd));
    36     return 0;
    37 }
    Oo0O0oO
  • 相关阅读:
    使用python-gitlab包在gitlab上自动创建分组
    navicat连接远程mysql失败
    Python shell介绍
    Python任务流taskflow
    Python导包问题
    demo27-数组去重
    demo26-通过循环输出数据到页面显示
    demo25-for循环
    Visual Studio 2005 快捷键汇总
    三维立体图片效果
  • 原文地址:https://www.cnblogs.com/wolfred7464/p/3366725.html
Copyright © 2011-2022 走看看