请实现以下两个函数:
char toupper(char c);
char tolower(char c);
分别用于将传入的字母转为大写和小写。两个函数传入的参数取值范围都是[a-zA-Z],并且为ASCII编码,实现时不用检查参数合法性。两个函数的实现不能使用任何形式的分支、跳转等类型的语句或指令(特别说明:C/C++的条件操作符?:也是分支指令的一种形式,故而不能使用)。
char toupper(char c);
char tolower(char c);
int main()
{
cout << toupper('a') << toupper('A') << endl;
cout << tolower('a') << tolower('A') << endl;
return 0;
}
char toupper( char c )
{
//return (c & 0xDF);
return (c - (c - 65) / 32 * 32);
}
char tolower( char c )
{
//return (c | ~0xDF);
return (c - (c - 97) / 32 * 32);
}