c语言中关于大小写字母转换C语言中关于大小写字母转换

2021-03-05 12:37:36 字数 6204 阅读 3461

1楼:匿名用户

我作如下解释:(c-‘a’)这是先要运行的,是把c的ascii码减去65;然后对26取余;再加上 a的ascii码 。结果就是c的大写字母对应的小写字母的ascii码!

拿一个具体的例子来说:我要求b的小写字母的ascii码,先将b的ascii码减去a的即:66-65=1,然后对26取余,结果还是1,再加上a的ascii码97,得98,它就是b的ascii码。

2楼:匿名用户

因为英文有26个字母,字符变量c-‘a’,就是这个字符变量与‘a’的差,然后%26,得到该字符在字母表中的位置,其实%26可不用,而对于b选项,‘a’=65,如果字符变量中存储的是‘s’,那么c+‘a’就大于130,对此%26是错的。

3楼:修身养性

我觉得c=c-'a'+'a'就行了

我不明白为什么还会有%26

你可以放到程序里试一下

~~~~~~~~~~~~~~

我测试过了 c = c-'a'+'a';是可以的而且a选项也是可以的,因为c-'a'执行后,一定是小于26的,所以这个%26加不加没什么区别(唯一的不同就是使事情复杂化)

4楼:叫声姐姐

实现任意大小写字母转换。**如下:

#include

voidmain()

else

if(x>='a'&&x<='z')printf("%c\n",x);

}小写字母转换成大写字母的**如下:

#include

voidmain()

3大写字母转换成小写字母的**如下:

#include

voidmain()

c语言 字符串中大小写字母转换

5楼:赞的都帅

就是ascii码的

来加减,字母的大写和小自写的ascii码的差值是一样的。

小写的字母ascii码为 97('a')到 122('z'),转换成大写字母则ascii减32,变成从65('a')到90('z')

每个字母对应一个ascii码,查ascii码表就可以一目了然。输入字母,转换为int类型,看其值是在什么范围,就可以知道输入的是大写还是小写。

ascii码:美国(国家)信息交换标准(代)码,一种使用7个或8个二进制位进行编码的方案,最多可以给256个字符(包括字母、数字、标点符号、控制字符及其他符号)分配(或指定)数值。ascii码于1968年提出,用于在不同计算机硬件和软件系统中实现数据传输标准化,在大多数的小型机和全部的个人计算机都使用此码。

ascii码划分为两个集合:128个字符的标准ascii码和附加的128个字符的扩充和ascii码。

6楼:匿名用户

思路:先定bai义字符串,并输入du,然后对zhi字符串进行遍历dao,并判断是专否是大写字母,如果是则

属其ascii加32,如果是小写字符则其ascii减去32,最后输出字符串即可。

#include

intmain()

/*运行结果:

abc23def

abc23def*/

7楼:三号床铺的四哥

c语言复 字符串制

中大小写字母转换程序:

#include

int main()

puts(str);

return 0;

8楼:匿名用户

正确的如下:

#include "stdio.h"

#include "string.h"

void inv(char *s)

}void main()

9楼:匿名用户

#include "stdio.h"

#include "string.h"

#define n 20

void inv(char *s)

}void main()

10楼:龚金溥振凯

思路:来利用对应大小写字符的ascii码相源差bai32,则遍历输入的字符串,du判断每个zhi字符是大写字母还dao是小写字母,如果是大写字母则自加32就是对应的小写字母,如果是小写字母则自减32就是其对应的大写字母。

参考**:

#include

int main() /*

输出:asfdjy435

asfdjy435*/

11楼:禹立咎若菱

#include

#include

main()

c语言大小写字母转换

12楼:肆意横流的思念

#include

voidmain()

13楼:匿名用户

上面源程序的功能是实现大写字母转换为小写字母。

定义两个字符变量c1,c2,语句c1=getchar();要求输入一个大写字母的字符,比如输入a,由于字符a的ascll是65,执行语句printf("%c,%d\n",c1,c1);此时会输出a,65,由于任何小写字母的ascll值比其对应的大写字母大32,则根据语句c2=c1+32;把字符a的ascll值加32,变为97,对应的就是字符a,即大写字母a的小写形式,在赋给c2,最后执行printf("%c,%d\n",c2,c2);输出a,97.

14楼:匿名用户

思路:先定义字符串,并输入,然后对字符串进行遍历,并判断是否是大写字母,如果是则其ascii加32,如果是小写字符则其ascii减去32,最后输出字符串即可。

#include

intmain()

/*运行结果:

abc23def

abc23def*/

15楼:匿名用户

c1的值从键盘输入,也就是你要转换的大写字母,在ascii码表中,a-z的ascii码值是65-90,a-z的ascii码值是97-122,而且在ascii码表中,这些字母的ascii码值也是按顺序排列的,所以你输入c1的值加上32以后正好是它对应的小写字母的ascii码值,printf("%c,%d\n",c1,c1);中“c%”输出的是c1的字符型值,也就是你从键盘输入的大写的c1,“d%”输出的是它对应的ascii值,c2同上。

16楼:

c语言对应的大小写字母的ascii码是不一样的,a为65,a为97,相同的字母之间相差32,以此类推…… 要说相互转换有什么意思,也没什么太大的意义,就是为了控制输出罢了。比如一个系统,让最后输出的都为大写字母,程序中用的都是小写,你总忒给客户转换了吧,满足需求嘛。至于其他什么转换的意义,我至今也不知道。

不知楼主是不是问我理解的这个意思 希望帮助你了o(∩_∩)o

17楼:天天不看

这是一个很简单的功能

#include

#include

voidmain()

printf("%c\n",c);//输出转换后的字母字符。}

18楼:赞的都帅

就是ascii码的加减,字母的大写和小写的ascii码的差值是一样的。

小写的字母ascii码为 97('a')到 122('z'),转换成大写字母则ascii减32,变成从65('a')到90('z')

每个字母对应一个ascii码,查ascii码表就可以一目了然。输入字母,转换为int类型,看其值是在什么范围,就可以知道输入的是大写还是小写。

ascii码:美国(国家)信息交换标准(代)码,一种使用7个或8个二进制位进行编码的方案,最多可以给256个字符(包括字母、数字、标点符号、控制字符及其他符号)分配(或指定)数值。ascii码于1968年提出,用于在不同计算机硬件和软件系统中实现数据传输标准化,在大多数的小型机和全部的个人计算机都使用此码。

ascii码划分为两个集合:128个字符的标准ascii码和附加的128个字符的扩充和ascii码。

19楼:

根据字符的ascii码,由于大写字母与小写字母的ascii码值相差32

如'a'的ascii码是65,'a'的ascii码是97,其他25个字母同理。

20楼:匿名用户

#include

#include

intmain()

l=strlen(a);

for(i=0;i='a'&&a[i]<='z')//要包括z}for(i=0;i

21楼:叫声姐姐

实现任意大小写字母转换。**如下:

#include

voidmain()

else

if(x>='a'&&x<='z')printf("%c\n",x);

}小写字母转换成大写字母的**如下:

#include

voidmain()

3大写字母转换成小写字母的**如下:

#include

voidmain()

22楼:匿名用户

#include

#include

char a(char b[10])

}main() //习惯不好,最好用int main(void) 原因以后学到再说

}修改版:

#include

#include

char a(char b)

else if(b>='a' && b<='z')return b;

}int main(void)

return 0;}

23楼:匿名用户

本质上是通过ascii码值转换。

大小写字母ascii码值相差32.通过这个可以转换。

如下:#include

int main()

24楼:匿名用户

在c语言中转换大小写字母,可用ctype.h头文件中声明的函数toupper和tolower。

toupper:

inttoupper(intc);

若c为小写字母,则将其转换为大写字母;否则,不转换,直接返回c。

tolower:

inttolower(intc);

若c为大写字母,则将其转换为小写字母;否则,不转换,直接返回c。

25楼:三号床铺的四哥

c语言 字符串中大小写字母转换程序:

#include

int main()

puts(str);

return 0;

26楼:听不清啊

#include

int main()

27楼:叶小怜

按照你现在函数a的做法,每次就只能返回输入字符串的第一个字符,而且函数a中没有对如果出现了空格,制表符等非字母情况的判断

函数a再好好设计吧

28楼:匿名用户

c2=c1+32;这一句实现大小写转换的。

这里的字符是assic码。

大写字母a~z是65-90.

小写字母a~z是97~122.

故加12转换、

29楼:匿名用户

正确的如下:

#include "stdio.h"

#include "string.h"

void inv(char *s)

}void main()

30楼:修身养性

我觉得c=c-'a'+'a'就行了

我不明白为什么

还会有%26

你可以放到程序里试一下

~~~~~~~~~~~~~~

我测试过了 c = c-'a'+'a';是可以的而且a选项也是可以的,因为c-'a'执行后,一定是小于26的,所以这个%26加不加没什么区别(唯一的不同就是使事情复杂化)

31楼:卫班科技

大写转换小写

小写转换大写

32楼:匿名用户

因为英文有26个字母,字符变量c-‘a’,就是这个字符变量与‘a’的差,然后%26,得到该字符在字母表中的位置,其实%26可不用,而对于b选项,‘a’=65,如果字符变量中存储的是‘s’,那么c+‘a’就大于130,对此%26是错的。

C语言大写转换小写问题,C语言中,如果让输入的小写字母变成大写字母?

1楼 匿名用户 改成a a a a z 0 1 时,你输入的字符是什么? 如果你输入的字符是 a 到 z 之间的话, 运行完这条语句后,a的值就是0,走的就是else这个判断,打印出 输入错误 2楼 郝在益 首先,你改为0 1之后,a的值不是1就是0,你把以前的值都覆盖了, 后面的也是一样,你的a就...

C语言字符大小写怎么转换,c语言编程:将小写字母转换为大写字母并输出。急求谢了。

1楼 匿名用户 include stdio h include string h void inv char s void main 2楼 匿名用户 include include char a char b 10 main 习惯不好,最好用int main void 原因以后学到再说 修改版 in...

用c语言编程输入字符若是小写字母转换为

1楼 木澂 如下 include int main 在devc 环境下运行效果如下 2楼 郝在益 如果是小写,则将这个字符减去32,再输出。反之,加上32就是了。 include main 满意请采纳! 3楼 匿名用户 include void main else if ch 97 ch 122 p...