#include <stdio.h>
int myIsDigit(int character)
{
return character >= '0' &&
character <= '9';
}
int myIsAlpha(int character)
{
return (character >= 'A' &&
character <= 'Z') ||
(character >= 'a' &&
character <= 'z');
}
int myIsAlnum(int character)
{
return myIsDigit(character) ||
myIsAlpha(character);
}
int myIsXDigit(int character)
{
return (character >= '0' &&
character <= '9') ||
(character >= 'A' &&
character <= 'F') ||
(character >= 'a' &&
character <= 'f');
}
int myIsLower(int character)
{
return character >= 'a' &&
character <= 'z';
}
int myIsUpper(int character)
{
return character >= 'A' &&
character <= 'Z';
}
int myToLower(int character)
{
if (myIsUpper(character))
{
return character + ('a' - 'A');
}
return character;
}
int myToUpper(int character)
{
if (myIsLower(character))
{
return character - ('a' - 'A');
}
return character;
}
int myIsSpace(int character)
{
return character == ' ' ||
character == '\n' ||
character == '\t' ||
character == '\r' ||
character == '\f' ||
character == '\v';
}
int myIsPunct(int character)
{
if (!myIsAlnum(character) &&
character != ' ' &&
character >= 32 &&
character <= 126)
{
return 1;
}
return 0;
}
int myIsPrint(int character)
{
return character >= 32 &&
character <= 126;
}
int myIsGraph(int character)
{
return character >= 33 &&
character <= 126;
}
int main(void)
{
char character;
printf("Enter a character: ");
myIsDigit(character));
myIsAlpha(character));
myIsAlnum(character));
myIsXDigit(character));
myIsLower(character));
myIsUpper(character));
myIsSpace(character));
myIsPunct(character));
myIsPrint(character));
myIsGraph(character));
myToLower(character));
myToUpper(character));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbXlJc0RpZ2l0KGludCBjaGFyYWN0ZXIpCnsKICAgIHJldHVybiBjaGFyYWN0ZXIgPj0gJzAnICYmCiAgICAgICAgICAgY2hhcmFjdGVyIDw9ICc5JzsKfQoKaW50IG15SXNBbHBoYShpbnQgY2hhcmFjdGVyKQp7CiAgICByZXR1cm4gKGNoYXJhY3RlciA+PSAnQScgJiYKICAgICAgICAgICAgY2hhcmFjdGVyIDw9ICdaJykgfHwKICAgICAgICAgICAoY2hhcmFjdGVyID49ICdhJyAmJgogICAgICAgICAgICBjaGFyYWN0ZXIgPD0gJ3onKTsKfQoKaW50IG15SXNBbG51bShpbnQgY2hhcmFjdGVyKQp7CiAgICByZXR1cm4gbXlJc0RpZ2l0KGNoYXJhY3RlcikgfHwKICAgICAgICAgICBteUlzQWxwaGEoY2hhcmFjdGVyKTsKfQoKaW50IG15SXNYRGlnaXQoaW50IGNoYXJhY3RlcikKewogICAgcmV0dXJuIChjaGFyYWN0ZXIgPj0gJzAnICYmCiAgICAgICAgICAgIGNoYXJhY3RlciA8PSAnOScpIHx8CiAgICAgICAgICAgKGNoYXJhY3RlciA+PSAnQScgJiYKICAgICAgICAgICAgY2hhcmFjdGVyIDw9ICdGJykgfHwKICAgICAgICAgICAoY2hhcmFjdGVyID49ICdhJyAmJgogICAgICAgICAgICBjaGFyYWN0ZXIgPD0gJ2YnKTsKfQoKaW50IG15SXNMb3dlcihpbnQgY2hhcmFjdGVyKQp7CiAgICByZXR1cm4gY2hhcmFjdGVyID49ICdhJyAmJgogICAgICAgICAgIGNoYXJhY3RlciA8PSAneic7Cn0KCmludCBteUlzVXBwZXIoaW50IGNoYXJhY3RlcikKewogICAgcmV0dXJuIGNoYXJhY3RlciA+PSAnQScgJiYKICAgICAgICAgICBjaGFyYWN0ZXIgPD0gJ1onOwp9CgppbnQgbXlUb0xvd2VyKGludCBjaGFyYWN0ZXIpCnsKICAgIGlmIChteUlzVXBwZXIoY2hhcmFjdGVyKSkKICAgIHsKICAgICAgICByZXR1cm4gY2hhcmFjdGVyICsgKCdhJyAtICdBJyk7CiAgICB9CgogICAgcmV0dXJuIGNoYXJhY3RlcjsKfQoKaW50IG15VG9VcHBlcihpbnQgY2hhcmFjdGVyKQp7CiAgICBpZiAobXlJc0xvd2VyKGNoYXJhY3RlcikpCiAgICB7CiAgICAgICAgcmV0dXJuIGNoYXJhY3RlciAtICgnYScgLSAnQScpOwogICAgfQoKICAgIHJldHVybiBjaGFyYWN0ZXI7Cn0KCmludCBteUlzU3BhY2UoaW50IGNoYXJhY3RlcikKewogICAgcmV0dXJuIGNoYXJhY3RlciA9PSAnICcgfHwKICAgICAgICAgICBjaGFyYWN0ZXIgPT0gJ1xuJyB8fAogICAgICAgICAgIGNoYXJhY3RlciA9PSAnXHQnIHx8CiAgICAgICAgICAgY2hhcmFjdGVyID09ICdccicgfHwKICAgICAgICAgICBjaGFyYWN0ZXIgPT0gJ1xmJyB8fAogICAgICAgICAgIGNoYXJhY3RlciA9PSAnXHYnOwp9CgppbnQgbXlJc1B1bmN0KGludCBjaGFyYWN0ZXIpCnsKICAgIGlmICghbXlJc0FsbnVtKGNoYXJhY3RlcikgJiYKICAgICAgICBjaGFyYWN0ZXIgIT0gJyAnICYmCiAgICAgICAgY2hhcmFjdGVyID49IDMyICYmCiAgICAgICAgY2hhcmFjdGVyIDw9IDEyNikKICAgIHsKICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQoKaW50IG15SXNQcmludChpbnQgY2hhcmFjdGVyKQp7CiAgICByZXR1cm4gY2hhcmFjdGVyID49IDMyICYmCiAgICAgICAgICAgY2hhcmFjdGVyIDw9IDEyNjsKfQoKaW50IG15SXNHcmFwaChpbnQgY2hhcmFjdGVyKQp7CiAgICByZXR1cm4gY2hhcmFjdGVyID49IDMzICYmCiAgICAgICAgICAgY2hhcmFjdGVyIDw9IDEyNjsKfQoKaW50IG1haW4odm9pZCkKewogICAgY2hhciBjaGFyYWN0ZXI7CgogICAgcHJpbnRmKCJFbnRlciBhIGNoYXJhY3RlcjogIik7CiAgICBzY2FuZigiJWMiLCAmY2hhcmFjdGVyKTsKCiAgICBwcmludGYoIm15SXNEaWdpdCA9ICVkXG4iLAogICAgICAgICAgIG15SXNEaWdpdChjaGFyYWN0ZXIpKTsKCiAgICBwcmludGYoIm15SXNBbHBoYSA9ICVkXG4iLAogICAgICAgICAgIG15SXNBbHBoYShjaGFyYWN0ZXIpKTsKCiAgICBwcmludGYoIm15SXNBbG51bSA9ICVkXG4iLAogICAgICAgICAgIG15SXNBbG51bShjaGFyYWN0ZXIpKTsKCiAgICBwcmludGYoIm15SXNYRGlnaXQgPSAlZFxuIiwKICAgICAgICAgICBteUlzWERpZ2l0KGNoYXJhY3RlcikpOwoKICAgIHByaW50ZigibXlJc0xvd2VyID0gJWRcbiIsCiAgICAgICAgICAgbXlJc0xvd2VyKGNoYXJhY3RlcikpOwoKICAgIHByaW50ZigibXlJc1VwcGVyID0gJWRcbiIsCiAgICAgICAgICAgbXlJc1VwcGVyKGNoYXJhY3RlcikpOwoKICAgIHByaW50ZigibXlJc1NwYWNlID0gJWRcbiIsCiAgICAgICAgICAgbXlJc1NwYWNlKGNoYXJhY3RlcikpOwoKICAgIHByaW50ZigibXlJc1B1bmN0ID0gJWRcbiIsCiAgICAgICAgICAgbXlJc1B1bmN0KGNoYXJhY3RlcikpOwoKICAgIHByaW50ZigibXlJc1ByaW50ID0gJWRcbiIsCiAgICAgICAgICAgbXlJc1ByaW50KGNoYXJhY3RlcikpOwoKICAgIHByaW50ZigibXlJc0dyYXBoID0gJWRcbiIsCiAgICAgICAgICAgbXlJc0dyYXBoKGNoYXJhY3RlcikpOwoKICAgIHByaW50ZigibXlUb0xvd2VyID0gJWNcbiIsCiAgICAgICAgICAgbXlUb0xvd2VyKGNoYXJhY3RlcikpOwoKICAgIHByaW50ZigibXlUb1VwcGVyID0gJWNcbiIsCiAgICAgICAgICAgbXlUb1VwcGVyKGNoYXJhY3RlcikpOwoKICAgIHJldHVybiAwOwp9