输入abcDFGkLm
输出ABCdfgKlM
字母大小写转换利用了ASCII码之间的计算。以下列出大小写英文字母的ASCII码:
小写:
a → 97,b → 98,c → 99,d → 100,e → 101,f → 102,
g → 103,h → 104,i → 105,j → 106,k → 107,l → 108,
m → 109,n → 110,o → 111,p→ 112,q → 113,r → 114,
s → 115,t → 116,u → 117,v → 118,w → 119,x → 120,y → 121,z → 122
大写:
A → 65,B → 66,C → 67,D → 68,E → 69,
F → 70,G → 71,H → 72,I → 73,J → 74,
K → 75,L → 76,M → 77,N → 78,O → 79,
P → 80,Q → 81,R → 82,S → 83,T → 84,
U → 85,V → 86,W → 87,X → 88,Y → 89,Z → 90
以上可知 大写字母 + 32 = 小写字母
小写字母 - 32 = 大写字母
#include <stdio.h>
{
char str4[50];
scanf("%s", str4);
int len4 = strlen(str4);
for(int i = 0; i < len4; i++)
{
if(str4[i]<='Z' && str4[i]>='A')
{
str4[i] = str4[i] + 32;//大写转小写
}
else if(str4[i]<='z' && str4[i]>='a')
{
str4[i] = str4[i] - 32;//小写转大写
}
}
printf("%s ",str4);
return 0;
}