问题链接:CodeForces-131A
问题简述
输入一串字母,如果这串字母只有一个字母,或者以小写或大写开头后面都是大写字母,那么大写全部变成小写,小写全部变成大写,然后输出,否则不改变直接输出。
思路
就考虑输入的字母是否需要改变大小写,对输入字符串进行判断。可以用一个变量k进行判断结果记录,如果需要改变,就记为1,否则记为0.最后对k判断来输出。
AC通过的C++语言程序如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string a; int k = 0; char b;
cin >> a;
if (a.size() == 1) k = 1;
else
{
k = 1;
for (int i = 1; i < a.size(); i++)
if (a[i] > 90) { k = 0; break; }
}
if (k)
{
if (a[0] > 90) { b = a[0] - 32; cout << b; }
else { b = a[0] + 32; cout << b; }
for (int i = 1; i < a.size(); i++)
{
b = a[i] + 32;
cout << b;
}
}
else cout << a;
return 0;
}