求大佬解答
1. 写一个程序,将用户输入的英文句子中的字母大小写进行调换(即大写字母转换为小写字母,小写字母转换为大写字母)。提示:你可能会需要使用 putchar 函数。,
int main()
{
int ch;
printf("请输入一行英文句子:");
while ((ch = getchar()) != '\n')
{
if (ch >= 'A' && ch <= 'Z')
{
ch = ch - 'A' + 'a';
}
else if (ch >= 'a' && ch <= 'z')
{
ch = ch - 'a' + 'A';
}
putchar(ch);
}
putchar('\n');
return 0;
}
没看懂大小写转换那一步为什么-A+a啊,啥意思哦
理解ASCII码 的话 用+32就行
这个的意思其实是ch+‘a'-’A‘
就是把大小写字母之间的差值补上 不知道你懂了没有 本帖最后由 jhq999 于 2022-4-4 15:04 编辑
假如 ch='B',ch-'A'=1,'a'+1='b',所以ch=ch-'A'+'a'='b' 参照ASCLL码理解 lizhenghui 发表于 2022-4-4 15:03
理解ASCII码 的话 用+32就行
这个的意思其实是ch+‘a'-’A‘
就是把大小写字母之间的差值补上 不知道你懂 ...
谢谢
页:
[1]