Решение задачи cAPS lOCK с Codeforces

Без пояснения   Просмотров: 75


зАЧЕМ НУЖНА КЛАВИША cAPS lOCK?

Caps Lock — клавиша компьютерной клавиатуры, предназначенная для автоматической (постоянной) смены регистра букв со строчных на прописные. Будучи случайно нажатой, она приводит к последствиям вроде первого абзаца в условии этой задачи.

Будем считать, что слово набрано с ошибочно нажатой клавишей Caps Lock, если:

либо оно полностью состоит из прописных букв;
либо прописными являются все его буквы, кроме первой.
В таком случае, нужно автоматически поменять регистр всех букв на противоположный. Например, регистр букв слов «hELLO», «HTTP», «z» должен быть изменен.

Напишите программу, которая применяет описанное выше правило или оставляет слово без изменения, если оно не применимо.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    string n;
    bool b = true;
    cin >> n;
    for(int i = 1; i < n.size(); ++i){
        if(n[i] < 'A' || n[i] > 'Z')
            b = false;
    }

    if(b){
        for(int i = 1; i < n.size(); ++i)
                n[i]+=32;
        if(n[0] >= 'a' && n[0] <= 'z')
            n[0]-=32;
        else
            n[0]+=32;
    }
    cout << n;
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться