C语言编程“大小写字母的转换”

问题如题

这是一个很简单的功能

#include<stdio.h>
#include<stdlib.h>
void main()
{
    char c;
    scanf("%c",&c);  //输入一个字母。
    if ((c>='A')&&(c<='Z')) c+=32;
    //判断是否为大写字母,是则转换为小写字母。
    else if((c>='a')&&(c<='z')) c-=32;
    //否则判断是否为小写字母,是则转换为大写字母。
    else    //否则,该字符不是字母,则输出“该字符不是字母”并结束程序。
    {
        printf("该字符不是字母\n");
        exit(0);
    }
    printf("%c\n",c);  //输出转换后的字母字符。
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-31
#include<stdio.h>
#include<stdlib.h>
void main()
{
char c;
scanf("%c",&c); //输入一个字母。
if ((c>='A')&&(c<='Z')) c+=32;
//判断是否为大写字母,是则转换为小写字母。
else if((c>='a')&&(c<='z')) c-=32;
//否则判断是否为小写字母,是则转换为大写字母。
else //否则,该字符不是字母,则输出“该字符不是字母”并结束程序。
{
printf("该字符不是字母\n");
exit(0);
}
printf("%c\n",c); //输出转换后的字母字符。
}---------------摘自 百度用户 锅钢5
第2个回答  2017-07-18
C语言对应的大小写字母的ASCII码是不一样的,A为65,a为97,相同的字母之间相差32,以此类推…… 要说相互转换有什么意思,也没什么太大的意义,就是为了控制输出罢了。比如一个系统,让最后输出的都为大写字母,程序中用的都是小写,你总忒给客户转换了吧,满足需求嘛。至于其他什么转换的意义,我至今也不知道。不知楼主是不是问我理解的这个意思 希望帮助你了o(∩_∩)o
第3个回答  2010-01-05
本质上是通过ascii码值转换。
大小写字母ascii码值相差32.通过这个可以转换。
如下:
#include <stdio.h>

int main()
{
char c1='a',c2='B';
c1-=32;//小写转大写-32;
c2+=32;//大写转小写+32;
printf("%c\n",c1);
printf("%c\n",c2);
return 0;
}
第4个回答  推荐于2017-09-01

#include<stdio.h>

int main()

{char s[200],*p=s;

gets(s);

for(;*p;p++)

if(*p>='A'&&*p<='Z')*p+=32;

else if(*p>='a'&&*p<='z')*p-=32;

puts(s);  

return 0;

}

本回答被网友采纳
相似回答