第二周CodeForces-131A题解

问题链接: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;
}

猜你喜欢

转载自blog.csdn.net/weixin_43970556/article/details/84996695