一道模拟题,写的有点麻烦

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
bool fun(char c)
{
if(c=='a'||c=='A'||c=='e'||c=='E'||c=='i'||c=='I'||c=='o'||c=='O'||c=='u'||c=='U'||c=='y'||c=='Y')
return true;
else
return false;
}
int main()
{
int word=0,sen=0,syl=0;
char s[1000];
while(scanf("%s",s)!=EOF)
{
int len=0,y=0;
int i;
for(i=0; s[i]!='\0'; i++)
{
if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
{
len++;
if(fun(s[i]))
{
if(s[i]=='e')
{
if(!((s[i+1]>='a'&&s[i+1]<='z')||(s[i+1]>='A'&&s[i+1]<='Z'))&& s[i-1]=='l')
{
syl++;
y++;
}
else if(!fun(s[i+1])&&((s[i+2]>='a'&&s[i+2]<='z')||(s[i+2]>='A'&&s[i+2]<='Z')))
{
if((s[i+1]>='a'&&s[i+1]<='z')||(s[i+1]>='A'&&s[i+1]<='Z'))
{syl++;
y++;
}
}
else if(!fun(s[i+1])&&((s[i+1]>='a'&&s[i+1]<='z')||(s[i+1]>='A'&&s[i+1]<='Z'))&&(s[i+1]!='s')&&(s[i+1]!='d'))
{syl++;
y++;
}
else if(fun(s[i-1])&&!((s[i+2]>='a'&&s[i+2]<='z')||(s[i+2]>='A'&&s[i+2]<='Z'))&&((s[i+1]=='s')||(s[i+1]=='d')))
{
syl++;y++;
}
else if(fun(s[i-1])&&!((s[i+1]>='a'&&s[i+1]<='z')||(s[i+1]>='A'&&s[i+1]<='Z')))
{
syl++;y++;
}
}
else if(!fun(s[i+1]))
{syl++;y++;
}
}
if(len<=3)
{
if(!((s[i+1]>='a'&&s[i+1]<='z')||(s[i+1]>='A'&&s[i+1]<='Z')))
{
syl++;
syl-=y;
y=0;
continue;
}
}
}
else if(s[i]==',')
{
word++;
y=0;
len=0;
}
else if(s[i]=='.' || s[i]=='?' || s[i]==':' || s[i]==';' || s[i]=='!')
{
word++;
sen++;
y=0;
len=0;
}
}
if((s[i-1]>='a'&&s[i-1]<='z')||(s[i-1]>='A'&&s[i-1]<='Z'))
{
word++;
y=0;
len=0;
}
memset(s,'\0',sizeof(s)); }
printf("%.2f\n",206.835-1.015*(double)word/(double)sen-84.6*(double)syl/(double)word);
return 0;
}

poj_3371的更多相关文章

随机推荐

  1. Jquery-操作select下拉菜单

    jQuery获取Select选择的Text和Value: 1. var checkText=jQuery("#select_id").find("option:selec ...

  2. Tomcat远程代码执行漏洞(CVE-2017-12615)修复

    一.漏洞介绍 2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,其中就有Tomcat远程代码执行漏洞,当存在漏洞的Tomcat运行在Windwos主机上,且启用了HTTP ...

  3. 极路由设置共享磁盘密码、跨网访问samba服务

    极路由插上移动硬盘后会自动建立samba服务器,但我们没法去配置哪些盘符需要密码,这样只要在同一个wifi下的电脑都能去访问这些东西了,比较弱智.另外我还想再公司中去读写这个移动硬盘. 设置密码 首先 ...

  4. jQuery调用WebService ( 同源调用)

    转自原文 jQuery调用WebService 1.编写4种WebService方法     [WebService(Namespace = "http://tempuri.org/&quo ...

  5. php学习之道:php empty()和isset()的差别

    在使用 php 编写页面程序时,我常常使用变量处理函数推断 php 页面尾部參数的某个变量值是否为空,開始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问 ...

  6. Raspberry PI 系列 —— 裸机点亮LED灯

    Raspberry PI 系列 -- 裸机点亮LED灯 背景 近期刚买了Raspberry PI B+,配置执行了官方提供的Raspbian系统,折腾了一周Linux系统,感觉没啥意思,于是就试着想了 ...

  7. cocos2d-x3.2 下使用多线程

    事实上在cocos2dx下使用多线程事实上就是用C++去写,这里提供几个简单的样例: 原文地址:http://blog.csdn.net/qqmcy/article/details/36227377 ...

  8. python爬虫 分页获取图片并下载

    --刚接触python2天,想高速上手,就写了个爬虫,写完之后,成就感暴增,用起来顺手多了. 1.源代码 #coding=utf-8 import urllib import re class Pag ...

  9. 关于sql中的with(nolock)

    SQL Server 中的 NOLOCK 究竟是什么意思 一般用于此类语句中:select * from t with(NOLOCK) nolock是不加锁查询.能够读取被事务锁定的数据,也称为脏读. ...

  10. 使用dispatch_once实现单例

    很多人实现单例会这样写: @implementation XXClass + (id)sharedInstance { static XXClass *sharedInstance = nil; @s ...