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;
}

本文介绍了一个简单的字符串处理问题,即如何根据特定条件翻转字符串中字母的大小写。通过统计字符串中大写字母的数量来决定是否进行转换,并提供了一段C++代码实现。
&spm=1001.2101.3001.5002&articleId=77824672&d=1&t=3&u=da867e163cf34eec9a91d9d4e2e7e4be)
426

被折叠的 条评论
为什么被折叠?



