笔试代码题--CVTE--全大写或全小写或首字母大写其余小写
实例1:输入:CVTE
输出:True
实例2:输入:Cvte
输出:True
实例3:输入:cvte
输出:True
实例4:输入:CVte
输出:False
解题思路:
输出正确的是: 如果第一个字母是大写,那么其余的都为大写,如果第一个为小写,那么其余的为小写。
代码如下:
#include<iostream>
#include<string>
using namespace std;
bool IsBigstring(string str)
{
int len = str.size();
int flag = 0;
if (len == 1) return true;
if (str[0]>='A' && str[0]<='Z')
{
flag = 1;
}
if (flag) //如果开头是大写
{
if (str[1]>='A' && str[1] <= 'Z')
{
for (int i = 2; i < len; i++)
{
if (str[i] >= 'a' && str[i] <= 'z')
{
return false;
}
}
}
else
{
for (int i = 2; i < len; i++)
{
if (str[i] >= 'A' && str[i] <= 'Z')
{
return false;
}
}
}
}
else
{
for (int i = 1; i < len; i++)
{
if (str[i] >= 'A' && str[i] <= 'Z')
{
return false;
}
}
}
return true;
}
int main()
{
string s;
cin >> s;
if(IsBigstring(s))
cout<<"true"<<endl;
else
cout << "false" << endl;
return 0;
}