Description
给出一个只由大小写字母组成的字符串,如果该字符串全由大写字母组成或者首字母小写其他字母大写,就将其大小写反转,大写的变成小写的,小写的变成大写的
Input
一个只由大小写字母的字符串,串长不超过100
Output
输出处理后的字符串
Sample Input
cAPS
Sample Output
Caps
Solution
水题,统计一下大写字母数量然后判断一下即可
Code
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
#include<map>
#include<set>
#include<ctime>
using namespace std;
typedef long long ll;
typedef pair<int,int>P;
const int INF=0x3f3f3f3f,maxn=100001;
char s[maxn];
char deal(char c)
{
if(c>='a'&&c<='z')return c-'a'+'A';
return c-'A'+'a';
}
int main()
{
while(~scanf("%s",s))
{
int n=strlen(s);
int num=0;
for(int i=0;i<n;i++)
if(s[i]>='A'&&s[i]<='Z')num++;
if(num==n||num==n-1&&s[0]>='a'&&s[0]<='z')
{
for(int i=0;i<n;i++)s[i]=deal(s[i]);
}
printf("%s\n",s);
}
return 0;
}