URAL 1601. AntiCAPS (strings)
2024-09-08 07:22:30
1601. AntiCAPS
Time limit: 0.5 second
Memory limit: 64 MB
Memory limit: 64 MB
The blonde Angela has a new whim: internet chats. Of course, as any blonde, shewrites her messages using the upper case. You are the moderator of Angela'sfavorite chat and you're fed up with her upper-case messages. The problemis
that Angela does not respond to your warnings. You decided to write a simpleantiCAPS corrector, which would make Angela's messages readable.
that Angela does not respond to your warnings. You decided to write a simpleantiCAPS corrector, which would make Angela's messages readable.
The correction rules are very simple:
- Sentences in a message consist of words, spaces and punctuation marks.
- Words consist of English letters.
- Sentences end with a full stop, exclamation mark, or question mark.
- The first word of each sentence must start with a capital letter, and all otherletters of the sentence must be lowercase.
Input
You are given Angela's message, which consists of uppercase English letters,spaces, line breaks and punctuation marks: full stops, commas, dashes, colons, exclamationand question marks. Total length of message is not exceeding
10000 symbols.
10000 symbols.
Output
Output the corrected message.
Sample
input | output |
---|---|
HI THERE! |
Hi there! |
Problem Author: Denis Musin
Problem Source: IX USU Open Personal Contest (March 1, 2008)
解析:注意两点:
1.每一个句子以‘.’,‘?’和‘!’结尾。每一个句子开头字符都要换成大写。
2.换行不算句子结尾的标志。
下面提供两组測试例子:
input1:
HELLO. I AM ANJELA! AND YOU?
I AM BLONDE.
output1:
Hello. I am anjela! And you?
I am blonde.
input2:
HHHHHHHHHH? SDSDFSDF! SFSDF. SDFAF
HKLLKSDJOI
output2:
Hhhhhhhhhh? Sdsdfsdf! Sfsdf. Sdfaf
hkllksdjoi
AC代码:
#include <bits/stdc++.h>
using namespace std; int main(){
#ifdef sxk
freopen("in.txt", "r", stdin);
#endif // sxk string s;
int flag = 1;
while(getline(cin, s)){
int n = s.size();
for(int i=0; i<n; i++){
if(flag){
if(s[i] >= 'A' && s[i] <= 'Z') flag = 0;
}
else{
if(s[i] >= 'A' && s[i] <= 'Z') s[i] += ('a' - 'A');
else if(s[i] == '.' || s[i] == '?' || s[i] == '!') flag = 1;
}
}
cout<<s<<endl;
}
return 0;
}
最新文章
- springMVC: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
- js学习-自定义函数、对象的字面量、json对象学习小结
- 【转】怎样提高VR渲染速度
- 【BZOJ 2132】 圈地计划
- iOS 退出应用程序
- linux下curl编程
- 基于visual Studio2013解决C语言竞赛题之0403字符统计
- Windows Phone开发(17):URI映射
- 用TcpClient如何获取远程网页的内容
- php实现301跳转
- nsx-edge虚拟机抓包实践
- 软件工程(FZU2015) 赛季得分榜,第七回合
- nGrinder Loadrunner vs nGrinder
- 字符串和数组----vector
- Oracle 增加、修改、删除字段
- 使用动态跟踪技术SystemTap监控MySQL、Oracle性能
- 牛客网暑期ACM多校训练营(第七场)J题(Sudoku Subrectangles)题解
- 火狐浏览器FireFox 如何将整个网页保存为图片
- opencv中读取显示图像
- c# 命名空间别名
热门文章
- 涨知识III - 百度2016校园招聘——移动软件研发工程师
- [转]Linux下paste命令详解
- 组合的json文件分隔或者拆分
- [转] 64位Oracle 11g R2的客户端连接时报ORA-01019错误
- Microsoft SQL Server 2008/2012 Internals 一处疑问
- 《Java编程的逻辑》第三部分 泛型与容器
- [Android]有关外部链接唤醒App需要注意的坑
- [Windows Server 2012] 安装护卫神&#183;主机管理系统
- python函数参数的区别
- 大白_uva10795_新汉诺塔