这道题的情况有四种:1)如果是单个字符:大写字母输出小写形式;小写字母输出大写形式。2)如果只有第一个字符是小写,其余的字符都是大写:第一个字符输出大写形式,其余字符输出小写形式。3)如果全都是大写:所有字符小写形式输出。4)如果不在上述情况中:原样输出。
#include<iostream>
#include<cctype>
using namespace std;
string String;
int Count;
int main()
{
while(cin >> String)
{
Count = 0;
for(int i = 1; i < String.size(); i++)
if(isupper(String[i]))
++Count;
//cout << Count << ' ' << String.size() - 1 << endl;
if(Count == (String.size() - 1))
{
if(islower(String[0]))
{
String[0] = toupper(String[0]);
for(int i = 1; i < String.size(); i++)
String[i] = tolower(String[i]);
}
else
for(int i = 0; i < String.size(); i++)
String[i] = tolower(String[i]);
}
cout << String << endl;
}
return 0;
}