洛谷八连测 R4 T1 逃避题解 (字符串)

题面:

题目描述

给定一篇只含有大小写字母,空格以及 ′.′(不含引号)的长度为 L 的文章。文章被若干个 ′.′ 划分 成若干个句子,句子被若干个空格划分成单词。你需要将文章中每个句子第一个单词的首字母改成大写, 其他一律小写,空格与 ′.′ 需原样输出。注意,可能存在某个句子中没有单词,或者某两个单词之间有多 个空格。

输入输出格式

输入格式:

 

一行,表示原串。

 

输出格式:

 

一行,表示你的回答。

 

输入输出样例

输入样例#1:
nigeru. wa.haji.
输出样例#1:
Nigeru. Wa.Haji.
输入样例#2:
.. .nI noip WEn   le  .NICE broO..
输出样例#2:
.. .Ni noip wen   le  .Nice broo..

说明

测试点编号  限制与约束
1,2,3,4,5 L<=103
6,7,8,9,10

 

L<=105

 

  

 

 

 

  

  

 

   这道题看一下就有知道很水……

  再看一下数据范围,直接暴力枚举就好。时间复杂度是 O(L)

  直接给出代码:

#include<bits/stdc++.h>
using namespace std; 

char ch,s[1000010];
int len=1;
bool flag;

int main()
{
    while(scanf("%c",&ch)!=EOF)
    {
        if(!flag)
        {
            if(ch>='a'&&ch<='z')
            {
                ch-=32;
                flag=true;
            }
            if(ch>='A'&&ch<='Z')flag=true;
            printf("%c",ch); 
            continue;
        }
        if(ch>='A'&&ch<='Z')ch+=32;
        printf("%c",ch);
        if(ch=='.')flag=false;
    }
    return 0;
}

 

posted @ 2017-10-23 20:45  殁天使  阅读(210)  评论(0)    收藏  举报