编写一个程序,可以一直接收键盘字符

如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。

在ASCII码表中 ,'A'到'Z'的值为97到122。'a'到'z'的值为65到90。每个字母都有对应的数字,想将字母的大小写互换,就需要相加减他们之间的差值32,也就是‘a’与‘A’相减值为32.

 1 #include<stdio.h>
 2 int main()
 3 {
 4     char str;
 5     printf("请输入字符!:");
 6     scanf("%c",&str);
 7     int str1 = 'a';
 8     int str2 = 'A';
 9     if (str >= 97 && str <= 122)
10     {
11         int str1 = str - 32;
12         printf("%c
",str1);
13     }
14     else if (str >= 65 && str <= 90)
15     {
16         int str2 = str + 32;
17         printf("%c
",str2);
18     }
19 
20     return 0;
21 }


还可以将上面的代码进行简化,如果你不确定'a'与'A'之间的差值时,可以直接对他两相减。将代码的准确度提高。

 1 #include<stdio.h>
 2 int main()
 3 {
 4     char str;
 5     printf("请输入字符:
");
 6     scanf("%c",&str);
 7     if ('A' <= str && str <= 'Z')
 8     {
 9         printf("%c
",str+('a'-'A'));
10     }
11     else if('a' <= str && str <= 'z')
12     {
13         printf("%c
",str-('a'-'A'));
14     }
15 
16     return 0;
17 }
原文地址:https://www.cnblogs.com/cuckoo-/p/10316018.html