C语言将字符串中的小写换成大写
思路:看ASCII码表,字母的大小写之间相差‘32’,'a’比’A’大32,当遇见小写字母的时候,可以先强制转换成整型,然后-32,再强制转换成字符型输出。
#include<stdio.h>main(){char a[100];scanf("%s", &a);for (int i = 0; a[i]; i++){int tmp = (int)a[i];//强制转换成整型if (tmp >= 'a' && tmp <= 'z'){tmp = tmp - ('a' - 'A');//('a'-'A')=32,也可以直接是tmp-32printf("%c", (char)tmp);//强制转换成字符型}/*同时将大写字母转换成小写else if (tmp >= 'A' &&tmp <= 'Z'){tmp = tmp + ('a' - 'A');printf("%c", (char)tmp);}*///如果不是字母的字符串,直接输出elseprintf("%c", a[i]);}return 0;}
测试:(同时转换大写字母)