C++,codeforces,131A,A. cAPS lOCK

/*
codeforces,131A,A. cAPS lOCK
输入一个字符串,如果这个字符串是全大写或首字母外均大写,则将所有字母大小写反转;否则保持不变
输出处理后的字符串
*/
#include <iostream>
#include <string>
int main(){
    std::string s;std::cin>>s;
    bool allCaps = true;
    //判断第二个字符及以后是否全为大写字母
    for(int i=1;i<s.size();i++){
        if(s[i]>='a'){
            allCaps = false;
            break;
        }
    }
    if(allCaps){
        //如果需要反转
        //第一个字符大小写反转
        if(s[0]>='a'){
            s[0] = s[0] + 'A' - 'a';
        }else{
            s[0] = s[0] + 'a' - 'A';
        }
        //之后的字符大写转小写
        for(int i = 1;i<s.size();++i){
            s[i] = s[i] + 'a' - 'A';
        }
    }
    std::cout<<s;
}
posted @ 2025-03-07 20:10  Kazuma_124  阅读(14)  评论(0)    收藏  举报