用C判别输入一个字符是不是字母,若是则输出它在字母表对称位置的字母
时间: 2023-05-31 11:06:54 浏览: 180
```
#include <stdio.h>
int main() {
char c;
scanf("%c", &c);
if (c >= 'a' && c <= 'z') {
printf("%c", 'a' + ('z' - c));
} else if (c >= 'A' && c <= 'Z') {
printf("%c", 'A' + ('Z' - c));
} else {
printf("Not a letter.");
}
return 0;
}
```
解释:输入一个字符,判断它是否为小写字母或大写字母,如果是小写字母,则输出它在字母表对称位置的字母(例如,输入a,则输出z),如果是大写字母,则输出它在字母表对称位置的字母(例如,输入A,则输出Z),否则输出“Not a letter.”。
相关问题
C语言输入一个字符,判别它是否大写字母,如果是,则将它转换成小写字母,并输出小写字母;如果不是,则不转换,输出对应的ASCII码。
在C语言中,你可以通过以下几个步骤来实现这个功能:
1. 使用`scanf`函数从用户处获取一个字符。
2. 判断字符是否为大写字母。可以使用ASCII值来判断,A~Z的大写字母ASCII值范围是65到90,可以通过`if`条件检查字符的ASCII值。
3. 如果是大写字母,可以利用ASCII表中小写字母与大写字母的相对位置,通过减去字母'A'的ASCII值加65(或者'A' - 'a' + 32,因为'A'比'a'大32)来得到相应的小写字母。
4. 对于不是大写字母的情况,直接输出其ASCII码,不需要转换。
5. 最后,使用`printf`函数输出处理后的结果。
下面是一个简单的示例代码片段:
```c
#include <stdio.h>
int main() {
char ch;
printf("Enter a character: ");
scanf("%c", &ch);
if (ch >= 'A' && ch <= 'Z') { // 判断是否为大写字母
ch = ch + 32; // 转换为小写字母
} else {
printf("Not an uppercase letter. ASCII value: %d\n", ch); // 输出ASCII码
}
printf("Converted to lowercase (or ASCII code): %c\n", ch);
return 0;
}
```
c语言输入一个字符,判别它是否是大写字母,如果是大写字母,将其转换为小写字母;否则就不转换。最后输出小写字母。
可以使用C语言的标准库函数isupper()和tolower()来实现这个功能。具体代码如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char c;
scanf("%c", &c);
if (isupper(c)) {
c = tolower(c);
}
printf("%c\n", c);
return 0;
}
```
这个程序首先读入一个字符,然后使用isupper()函数判断它是否是大写字母。如果是,就使用tolower()函数将其转换为小写字母。最后输出转换后的字符。
阅读全文