C语言实现大小写字母转换

/*
 * 文件名:字母大小写转换.c
 * 功能描述:
 *     输入一个字符判断其是否为字母,如果是字母则将大写转换为小写或将小写转换为大写
 * 编写人:王廷云
 * 编写日期:2017-1-10
*/
#include 
#include 
#include 

int main(void)
{
    int key;            /* getchar fgetc getc 返回值为int */

    fprintf(stdout, "请输入一个字母:");
    key = fgetc(stdin); /* fgetc 由函数实现 */
                        /* getchar 和 getc 由宏实现 */
#if 0 /* 方法一:不可移植 */
    
    /* 假定为大写字母 */
    if (key >= 'A' && key <= 'Z')
    {
        fprintf(stdout, "字母'%c'对应的小写字母为:'%c'\n", \
	                                 key, key-'A'+'a');
        exit(1);
    }

    /* 假定为小写字母 */
    if (key >= 'a' && key <= 'z')
    {
        fprintf(stdout, "字母'%c'对应的大写字母为:'%c'\n", \
	                                key, key-'a'+'A');
    }
    else
    {
        fprintf(stdout, "您输入的字符'%c'不是字母!\n", key);
    }
   
#else /* 方法二:可移植 */

    /* 判断是否为字母 */
    if (!isalpha(key))
    {
        fprintf(stdout, "您输入的字符'%c'不是字母!\n", key);
        exit(1);
    }

    /* 字母大小写转换 */
    if (isupper(key))
    {
        fprintf(stdout, "字母'%c'对应的小写字母为:'%c'\n", 
	                                key, tolower(key));
    }
    else
    {
        fprintf(stdout, "字母'%c'对应的大写字母为:'%c'\n", 
                                        key, toupper(key));
    }
#endif 

    return 0;
}


你可能感兴趣的:(C语言)