问题简述:输入一串字母,如果第一个是小写后面全是大写,就改变全部字母的大小写,如果字母全部都是大写,就保留第一个字母不变,其他全部变成小写。其他情况全部按原字母输出。
思路:先判断除了第一个字母,是不是全部为大写。如果是,再判断第一个字母的大小写。再按规则输出。
#include<iostream>
using namespace std;
int main()
{
int k, i, n; k = 1;
char ch[101];
cin >> ch;
n = strlen(ch);
for (i = 1; i < n; i++)
{
if (ch[i] <= 'z'&&ch[i] >= 'a')
{
k = 0; break;
}
}
if (k == 0)cout << ch;
else
{
if (ch[0] >= 'a'&&ch[0] <= 'z')
ch[0] -= 32;
else ch[0] += 32;
for (i = 1; i < n; i++)
ch[i] += 32;
cout << ch;
}
}