注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

fudq's AC Road

何以解忧,唯有AC!

 
 
 

日志

 
 

hdu 1360  

2012-05-05 09:28:56|  分类: ACM-hdu |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://acm.hdu.edu.cn/showproblem.php?pid=1360

简单的模拟题,要求输出一段文章中有多少个错误

句首的第一个字母要大写,一个单词中非第一个字母不能大写

代码如下:

有几个有关大写字母和小写字母函数使用说明:

#include <iostream>
#include <cctype>
using namespace std;
int main()
{
    int word=0,sentence=0,mistakes=0,c;  
    while( ( c=getchar() ) != EOF )
    {
        if(word==0)
        {
            if(isalpha(c))        // word头一个字母
                word=1;
        }
        else
        {
            if(isalpha(c))        // word中不是头一个字母
            {
                if(isupper(c))
                    mistakes++;
            }
            else
                word=0;
        }       
        if(sentence==0)
        {
            if(isalpha(c))        // 句首的第一个字母
            {
                sentence=1;
                if(islower(c))
                    mistakes++;
            }
        }
        else if(c=='.' || c=='?' || c=='!')    // 遇到结束标点 本句结束
  sentence=0;
    } 
    cout<<mistakes<<endl;
    return 0;
}

 

注:

isalpha  int isalpha(int ch)判断字符ch是否为英文字母,当ch为英文字母a-z或A-Z时,在标准c中相当于使用“isupper(ch)||islower(ch)”做测试,返回非零值(不一定是1),否则返回零

 

isupper  extern int isupper(int c);  判断字符c是否为大写英文字母  当参数c为大写英文字母(A-Z)时,返回非零值,否则返回零。

 

islower  int islower(int c)   检查参数c是否为小写英文字母。若参数c为小写英文字母,则返回TRUE,否则返回NULL(0)。

  评论这张
 
阅读(64)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018